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