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库

  • 相关阅读:
    线程安全的简单理解
    单链表 之 判断两链表是否交叉
    React组件间的通信
    input type=file美化
    Array.prototype.slice.call(arguments)
    ES5 数组方法every和some
    nodejs学习之表单提交(1)
    ES5 数组方法reduce
    ES5 数组方法map
    ES5 数组方法forEach
  • 原文地址:https://www.cnblogs.com/databaseaffair/p/3339814.html
Copyright © 2011-2022 走看看