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源代码,数据库,innodb目录,mysql存储引擎,mysql,innodb)