SQLite的架构 (The Architecture Of SQLite)

前端之家收集整理的这篇文章主要介绍了SQLite的架构 (The Architecture Of SQLite)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

这篇文档描述sqlite库的基本架构。对那些想要理解和修改sqlite的人很有帮助。

下面这张图表展示了sqlite的组件和它们之间的关系。



接口(Interface)

sqlite的很多对外接口的实现函数main.c legacy.c和vdbeapi.c。还以一些散落在其他文件中,sqlite3_get_table()函数实现在table.c,sqlite3_mprintf()函数printf.c,sqlite3_complete()在tokenize.c中。sqlite的更多接口请访问available separately

为了不和其他代码产生命名冲突,所有的sqlite API命名以 sqlite3_为前缀。


Tokenizer和Parser

注:tokenizer是负责把sql语句解析为一个个的“串”,而Paser是根据这些“串”的前后序列关系来生成相应的语法结构。

Code Generator(代码生成器)

生成Virtual Machine可以执行的高效代码

Virtual Machine

执行Code Generator 生成代码

B-Tree

sqlite数据库文件在磁盘中是以B树的数据结构存储

http://www.sqlite.org/arch.html

猜你在找的Sqlite相关文章