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