zoukankan      html  css  js  c++  java
  • PostgreSQL与MySQL源代码分析之旅(2)下--MySQL源代码结构

        MySQL的源代码目录与PG相比更加的扁平化,从根目录到文件大多数都是3、4级,而且文件名也极尽简化,这种简练对于开发还是有一定的好处的,最起码文件的访问路径不会太长,从这里MySQL的实用主义哲学可见一斑;不好的地方就是核心代码、工具、接口、测试代码都在同级目录下展开,有代码洁癖的可能不一定喜欢。

    mysql-5.58

    ├─BUILD        :在各个平台上的编译脚本
    ├─client          :客户端工具
    ├─cmake        :cmak编译脚本
    ├─cmd-line-utils     :readline等工具
    ├─dbug          :调试用的宏定义
    ├─Docs          :帮助文档代码
    ├─extra          :提供innochecksumresolveip等额外的小工具
    ├─include        :头文件
    ├─libmysql        :库文件,生产libmysqlclient.so
    ├─libmysqld        :
    ├─libservices       :5.5.x中新加的目录,实现了打印功能
    ├─man          :手册
    ├─mysql-test      :测试工具
    ├─mysys         :内部使用的数据结构和算法
    ├─packaging       :打包工具
    ├─plugin         :插件形式的部分功能
    ├─regex         :正则式实现
    ├─scripts        :提供脚本工具
    ├─sql          : mysql核心代码,将会生成mysqld文件
    ├─sql-bench       :基准测试工具代码
    ├─sql-common     :服务器端和客户端都会用到的代码
    ├─storage        :插件式的存储引擎
    │ ├─archive
    │ ├─blackhole
    │ ├─csv
    │ ├─example
    │ ├─federated
    │ ├─heap
    │ ├─innobase        :大名鼎鼎的inodb引擎
    │ ├─myisam        :同样有名的自带引擎
    │ │ └─ftbench
    │ ├─myisammrg
    │ ├─ndb
    ├─strings          :string 库
    ├─support-files
    │ ├─dtrace
    │ ├─MacOSX
    │ └─RHEL4-SElinux
    ├─tests          :测试文件
    ├─unittest          :单元测试
    ├─vio
    ├─win            :windows平台提供的编译环境
    └─zlib            :zlib库

  • 相关阅读:
    摩尔定律 四
    为什么要重载new? 四
    JS 完美识别IE FIREFOX CHROME safari
    Chrome的JS调试工具
    JetBrains WebStorm 6注册码(其实版本v4, v5, v6都通用)
    require.js 入门学习
    str_replace、preg_replace、strtr比较
    获取当前IP地址,跳转到对应城市网站。
    mysql大数据高并发处理(转)
    SESSION的安全性(转)
  • 原文地址:https://www.cnblogs.com/databaseaffair/p/3339814.html
Copyright © 2011-2022 走看看