当前位置: 首页 > news >正文

mysql源代码目录innodb引擎目录详解

innobase目录解读

  • api:

  • arch:

  • btr:B+树实现

      File Name   What Name Stands For         Size     Comment Inside File
      ---------   --------------------         ------   -------------------
      btr0btr.c   B-tree / B-tree              82,400   B-tree
      btr0cur.c   B-tree / Cursor             103,233   index tree cursor
      btr0sea.c   B-tree / Search              41,788   index tree adaptive search
      btr0pcur.c  B-tree / persistent cursor   16,720   index tree persistent cursor
    
  • buf:缓冲池的实现,包括LRU算法,FLUSH刷新算法

      File Name   What Name Stands For  Size     Comment Inside File
      ---------   --------------------  ------   -------------------
      buf0buf.c   Buffering / Buffering 65,582   The database buffer buf_pool
      buf0flu.c   Buffering / Flush     29,583   ... flush algorithm
      buf0lru.c   / least-recently-used 27,515   ... replacement algorithm
      buf0rea.c   Buffering / read      21,504   ... read
    
  • clone:

  • data:这是影响行的次要实用程序例程的集合。

      File Name   What Name Stands For  Size     Comment Inside File
      ---------   --------------------  ------   -------------------
      data0data.c Data / Data           15,344   SQL data field and tuple
      data0type.c Data / Type            7,417   Data types
    
  • dict:InnoDB存储引擎中内存数字字典的实现。

      File Name   What Name Stands For  Size     Comment Inside File
      ---------   --------------------  ------   -------------------
      dict0dict.c Dictionary / Dictionary 114,263 Data dictionary system
      dict0boot.c Dictionary / boot     11,704   ... booting
      dict0crea.c Dictionary / Create   37,278   ... creation
      dict0load.c Dictionary / load     34,049   ... load to memory cache
      dict0mem.c  Dictionary / memory    7,470   ... memory object creation
    
  • eval:评估步骤是解释SQL语句过程的后期部分—在\ pars(PARSING)期间已经进行了解析。

      File Name   What Name Stands For  Size    Comment Inside File
      ---------   --------------------  ------  -------------------
      eval0eval.c Evaluating/Evaluating 17,061  SQL evaluator
      eval0proc.c Evaluating/Procedures  5,001  Executes SQL procedures
    
  • fil:Innodb存储引擎中文件数据结构以及对文件的一些操作。

      File Name   What Name Stands For  Size     Comment Inside File
      ---------   --------------------  ------   -------------------
      fil0fil.c   File / File          118,312   The low-level file system
    
  • fsp:可以理解为file space,即对InnoDB存储引擎物理文件的管理,如页,区,段等。

      File Name   What Name Stands For  Size     Comment Inside File
      ---------   --------------------  ------   -------------------
      fsp0fsp.c   File Space Management 110,495  File space management
    
  • fts:

  • fut:通用的实用文件程序

      File Name   What Name Stands For  Size     Comment Inside File
      ---------   --------------------  ------   -------------------
      fut0fut.c   File Utility / Utility   293   File-based utilities
      fut0lst.c   File Utility / List   14,176   File-based list utilities
    
  • gis:

  • ha:哈希算法的实现。

      File Name   What Name Stands For  Size     Comment Inside File
      ---------   --------------------  ------   -------------------
      ha0ha.c     Hashing / Hashing      8,145   Hash table with external chains
      hash0hash.c Hashing / Hashing      3,283   Simple hash table utility
    
  • handler:继承于mysql的handler,插件式存储引擎的实现。

  • ibuf:插入缓存的实现。

      File Name   What Name Stands For  Size     Comment Inside File
      ---------   --------------------  ------   -------------------
      ibuf0ibuf.c Insert Buffer /       91,397   Insert buffer
    
  • include:innodb将头文件(.h,.ic)文件都统一放在这个文件夹下。

  • lob:

  • lock:Innodb存储引擎锁的实现。

      File Name   What Name Stands For  Size    Comment Inside File
      ---------   --------------------  ------  -------------------
      lock0lock.c Lock / Lock           139,207 The transaction lock system
    
  • log:日志缓冲和重组日志文件的实现。

      File Name   What Name Stands For  Size     Comment Inside File
      ---------   --------------------  ------   -------------------
      log0log.c   Logging / Logging     86,043   Database log
      log0recv.c  Logging / Recovery    91,352   Recovery
    
  • mach:机器格式

      File Name   What Name Stands For  Size    Comment Inside File
      ---------   --------------------  ------  -------------------
      mach0data.c Machine/Data           2,335  Utilities for converting
    
  • mem:辅助缓存池的实现,用来申请一些数据结构的内存。

      File Name   What Name Stands For  Size     Comment Inside File
      ---------   --------------------  ------   -------------------
      mem0mem.c   Memory / Memory       10,310   The memory management
      mem0dbg.c   Memory / Debug        22,054   ... the debug code
      mem0pool.c  Memory / Pool         16,511   ... the lowest level
    
  • mtr:事务的底层实现

      File Name   What Name Stands For  Size     Comment Inside File
      ---------   --------------------  ------   -------------------
      mtr0mtr.c   Mini-transaction /    12,620   Mini-transaction buffer
      mtr0log.c   Mini-transaction / Log 8,090   ... log routines
    
  • os:封装一些对于操作系统的操作

      File Name   What Name Stands For  Size     Comment Inside File
      ---------   --------------------  ------   -------------------
      os0file.c   OS / File            104,081   To i/o primitives
      os0thread.c OS / Thread            7,754   To thread control primitives
      os0proc.c   OS / Process          16,919   To process control primitives
      os0sync.c   OS / Synchronization  14,256   To synchronization primitives
    
  • page:页的实现

      File Name   What Name Stands For  Size    Comment Inside File
      ---------   --------------------  ------  -------------------
      page0page.c Page / Page           51,731  Index page routines
      page0cur.c  Page / Cursor         38,127  The page cursor
    
  • pars:工作是输入一个包含SQL语句的字符串并输出一个内存中的分析树。 EVALUATING(子目录\ eval)程序将使用该树。

      File Name   What Name Stands For Size    Comment Inside File
      ---------   -------------------- ------  -------------------
      pars0pars.c Parsing/Parsing      45,376  SQL parser
      pars0grm.c  Parsing/Grammar      62,685  A Bison parser
      pars0opt.c  Parsing/Optimizer    31,268  Simple SQL Optimizer
      pars0sym.c  Parsing/Symbol Table  5,239  SQL parser symbol table
      lexyy.c     Parsing/Lexer        62,071  Lexical scanner
    
  • que:程序que0que.c表面上是关于包含提交/回滚语句的存储过程的执行。

      File Name   What Name Stands For  Size     Comment Inside File
      ---------   --------------------  ------   -------------------
      que0que.c   Query Graph / Query   30,774   Query graph
    
  • read:read0read.c程序使用\ trx程序组中的某些功能打开查询结果的“读取视图”。

      File Name   What Name Stands For Size    Comment Inside File
      ---------   -------------------- ------  -------------------
      read0read.c Read / Read           9,935  Cursor read
    
  • rem:记录管理器,有时,您会问,围绕页面行中数据的所有那些位是什么,这就是您找到答案的地方。

      File Name   What Name Stands For  Size     Comment Inside File
      ---------   --------------------  ------   -------------------
      rem0rec.c   Record Manager        38,573   Record Manager
      rem0cmp.c   Record Manager /      26,617   Comparison services for records
                  Comparison
    
  • row:对于各种类型行数据的操作。

      File Name   What Name Stands For  Size     Comment Inside File
      ---------   --------------------  ------   -------------------
      row0row.c   Row / Row             18,375   General row routines
      row0uins.c  Row / Undo Insert      6,799   Fresh insert undo
      row0umod.c  Row / Undo Modify     19,712   Undo modify of a row
      row0undo.c  Row / Undo            10,512   Row undo
      row0vers.c  Row / Version         14,385   Row versions
      row0mysql.c Row / MySQL          112,462   Interface [to MySQL]
      row0ins.c   Row / Insert          42,829   Insert into a table
      row0sel.c   Row / Select         111,719   Select
      row0upd.c   Row / Update          51,824   Update of a row
      row0purge.c Row / Purge           15,609   Purge obsolete records
    
  • srv:对于InnoDB存储引擎参数的涉及

      File Name   What Name Stands For  Size     Comment Inside File
      ---------   --------------------  ------   -------------------
      srv0srv.c   Server / Server       75,633   Server main program
      srv0que.c   Server / Query         2,463   Server query execution
      srv0start.c Server / Start        50,154   Starts the server
    
  • sync:InnoDB存储引擎互斥量(Mutex)的实现

      File Name   What Name Stands For Size    Comment Inside File
      ---------   -------------------- ------  -------------------
      sync0sync.c Synchronization /    37,940  Mutex, the basic sync primitive
      sync0arr.c  ... / array          26,455  Wait array used in primitives
      sync0rw.c   ... / read-write     22,846  read-write lock for thread sync
    
  • trx:事务的实现

      File Name   What Name Stands For  Size     Comment Inside File
      ---------   --------------------  ------   -------------------
      trx0trx.c   Transaction /         50,480   The transaction
      trx0purge.c Transaction / Purge   29,133   ... Purge old versions
      trx0rec.c   Transaction / Record  37,346   ... Undo log record
      trx0roll.c  / Rollback            31,448   ... Rollback
      trx0sys.c   Transaction / System  27,018   ... System
      trx0rseg.c  / Rollback segment     6,445   ... Rollback segment
      trx0undo.c  Transaction / Undo    51,519   ... Undo log
    
  • usr:一个用户可以有多个会话(该会话是连接和断开连接之间发生的所有事情)。

      File Name   What Name Stands For  Size     Comment Inside File
      ---------   --------------------  ------   -------------------
      usr0sess.c  User / Session         1,740   Sessions
    
  • ut:工具类

      File Name   What Name Stands For  Size     Comment Inside File
      ---------   --------------------  ------   -------------------
      ut0ut.c     Utilities / Utilities  9,728   Various utilities
      ut0byte.c   Utilities / Debug        793   Byte utilities
      ut0rnd.c    Utilities / Random     1,474   Random numbers and hashing
      ut0mem.c    Utilities / Memory    10,358   Memory primitives
      ut0dbg.c    Utilities / Debug      2,579   Debug utilities
    

相关文章:

  • mysql数据库系统自带的4个默认数据库
  • Centos源码安装Postgresql12
  • linux下用gdb调试查看core文件内容
  • C++ map和multimap的键查找和值查找以及删除操作
  • 学习make和CMake的经典文档和视频
  • Go语言关于PorstgreSQL数据库的驱动-pg
  • linux调式命令
  • Bash快捷键
  • PostgreSQL插件汇总
  • ulimit详解
  • 数据库连接接口(驱动)
  • pgbench和sysbench初次压测PG集群
  • Patroni-2.0.0(Postgresql集群高可用方案)说明书
  • 跟我一起写 Makefile(二)
  • 发现发现返回一条记录的datareader的新用法
  • php的引用
  • 【Leetcode】101. 对称二叉树
  • Android组件 - 收藏集 - 掘金
  • flask接收请求并推入栈
  • golang 发送GET和POST示例
  • JavaScript服务器推送技术之 WebSocket
  • jquery ajax学习笔记
  • ng6--错误信息小结(持续更新)
  • webpack+react项目初体验——记录我的webpack环境配置
  • 动手做个聊天室,前端工程师百无聊赖的人生
  • 码农张的Bug人生 - 见面之礼
  • 买一台 iPhone X,还是创建一家未来的独角兽?
  • 如何合理的规划jvm性能调优
  • 王永庆:技术创新改变教育未来
  • 直播平台建设千万不要忘记流媒体服务器的存在 ...
  • ​一、什么是射频识别?二、射频识别系统组成及工作原理三、射频识别系统分类四、RFID与物联网​
  • # 飞书APP集成平台-数字化落地
  • # 执行时间 统计mysql_一文说尽 MySQL 优化原理
  • #includecmath
  • #pragam once 和 #ifndef 预编译头
  • #我与Java虚拟机的故事#连载10: 如何在阿里、腾讯、百度、及字节跳动等公司面试中脱颖而出...
  • $(selector).each()和$.each()的区别
  • (1)(1.8) MSP(MultiWii 串行协议)(4.1 版)
  • (附源码)小程序 交通违法举报系统 毕业设计 242045
  • (九)One-Wire总线-DS18B20
  • (篇九)MySQL常用内置函数
  • (转)ABI是什么
  • (转)母版页和相对路径
  • **登录+JWT+异常处理+拦截器+ThreadLocal-开发思想与代码实现**
  • .NET DataGridView数据绑定说明
  • .NET Framework Client Profile - a Subset of the .NET Framework Redistribution
  • .NET LINQ 通常分 Syntax Query 和Syntax Method
  • .Net6使用WebSocket与前端进行通信
  • .NET国产化改造探索(三)、银河麒麟安装.NET 8环境
  • .NET教程 - 字符串 编码 正则表达式(String Encoding Regular Express)
  • .net流程开发平台的一些难点(1)
  • .stream().map与.stream().flatMap的使用
  • /run/containerd/containerd.sock connect: connection refused
  • /ThinkPHP/Library/Think/Storage/Driver/File.class.php  LINE: 48
  • @Autowired和@Resource的区别