• 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库

  • 相关阅读:
    Java之路---Day09(继承)
    Java之路---Day08
    Java之路---Day07
    Java之路---Day06
    转载:js 创建对象、属性、方法
    Javascript类型检测
    jQuery 如何写插件
    js浮点数精度问题
    IE7.JS解决IE兼容性问题方法
    CSS 中文字体的英文名称 (simhei, simsun) 宋体 微软雅黑
  • 原文地址:https://www.cnblogs.com/databaseaffair/p/3339814.html
Copyright © 2020-2023  润新知