加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

SQLite的架构 (The Architecture Of SQLite)

发布时间:2020-12-12 19:47:35 所属栏目:百科 来源:网络整理
导读:这篇文档描述SQLite库的基本架构。对那些想要理解和修改SQLite的人很有帮助。 下面这张图表展示了SQLite的组件和它们之间的关系。 接口(Interface) SQLite的很多对外接口的实现函数在 main.c , legacy.c和 vdbeapi.c。还以一些散落在其他文件中, sqlite3

这篇文档描述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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读