当前位置: 首页 > news >正文

楼宇网站建设网站怎么做筛选功能的代码

楼宇网站建设,网站怎么做筛选功能的代码,wordpress打赏怎么用,展厅设计装饰公司SQLite是一个非常受欢迎的数据库#xff0c;在数据库排行榜中已经进入前十的行列。这主要是因为该数据库非常小巧#xff0c;而且可以支持Linux、Windows、iOS和Andriod的主流的操作系统。 SQLite非常简单#xff0c;是一个进程内的动态库数据库。其最大的特点是可以支持不同…SQLite是一个非常受欢迎的数据库在数据库排行榜中已经进入前十的行列。这主要是因为该数据库非常小巧而且可以支持Linux、Windows、iOS和Andriod的主流的操作系统。 SQLite非常简单是一个进程内的动态库数据库。其最大的特点是可以支持不同的语言来使用比如C、C、Java等等。同时SQLite还是一个开源的数据库也就是开发者可以根据自己的需求来修改数据的功能特性。 SQLite虽然非常小巧但功能却非常丰富正所谓“麻雀虽小五脏俱全”。SQLite不仅具备基本的SQL特性还具备索引、触发器、视图和事务等特性。 SQLite的主要API SQLite提供两种访问接口一种是通过sqlite命令行工具另外一种是通过动态库也就是API函数。在学习SQLite架构之前我们有必要对其API进行一个简要的介绍。其实SQLite的API很简单主要包括三个分别是sqlite3_open、sqlite3_exec和sqlite3_close三个函数。其中sqlite3_exec则是用于执行SQL语句的函数。 也就是说sqlite3_exec是SQLite功能的关键入口我们后面分析代码也应该以此函数作为突破点。其它函数相对简单也没那么重要。 SQLite整体架构 首先我们从整体架构上介绍一下SQLIte。其架构如图所示包括接口层、SQL命令处理器和存储后端等。 最为核心的不是就是SQLite内核了。其中包括接口层、SQL命令处理器和虚拟机三部分。SQL命令处理器负责对用户的SQL进行预处理最终生成适用于虚拟机执行的代码。 其下是后端部分后端部分相当于存储引擎。下面我们简要的介绍一下每个模块的功能。 接口 SQLIte库的使用通过函数调用实现。为了避免与其它库出现冲突SQLite的函数都以sqlite3作为前缀。接口部分的实现在文件main.c,legacy.c和vdbeapi.c中。其中main.c中包含其主要的接口包括sqlite3_open、sqlite3_config和sqlite3_close等等。SQLite中最终的函数不在main.c中而是在legacy.c中该文件中只包含这一个接口的实现。 词法分析器 词法分析器对SQL语句字符串进行解析最终生成单词token序列。并且将生成的单词序列传给解析器进行下一步的动作。该功能的具体实现在文件tokenize.c中核心入口函数为sqlite3RunParser。 资料直通车最新Linux内核源码资料文档视频资料 内核学习地址Linux内核源码/内存调优/文件系统/进程管理/设备驱动/网络协议栈 解析器 SQLite的解析器基于Lemon实现它实现将SQL语句字符串解析成语法树。Lemon是一个与YACC/BISON类似的词法分析库。该库的源代码在tool目录中。 代码生成器 代码生成器用于生成与SQL语句对应可以在虚拟机执行的代码。代码生成器实现比较复杂包含的文件有build.c, delete.c, attach.c, expr.c, insert.c, pragma.c, select.c, auth.c等等。通过文件名可以看出这里很多文件其实分别对应着一个SQL语句比如deleteinsert和select等。 虚拟机 SQL的具体执行在一个称为虚拟机的组件中进行的这个在前面架构图中已经有所展示。虚拟机执行的代码有前面代码生成器产生。虚拟机的实现在文件vdbe.h和vdbe.c中。 B-树 SQLite的数据通过B树进行组织管理。每个表或者索引都有一个对应的B树。所有的B树存储在一个数据库文件中。B树的具体实现在btree.c和btree.h文件中。 页缓存 SQLite的文件被划分为等份大小B树也是以该大小为粒度来对数据进行管理。页缓存是该粒度对应的内存内容通过该内存实现对数据块的读写等访问。页缓存相关的实现在pager.c和pcache.c等文件中。 操作系统接口 SQLite是一个跨平台的数据库其存储数据需要兼容Windows和Linux的文件系统API。为了方便SQLite实现了一个抽象层。这样对于SQLite业务逻辑来说只需要调用该抽象层的接口即可而不用关心操作系统。 基础库 包含一个被各个模块都可能使用到的基础库比如内存分配字符串处理等。 SQLite文件格式 前文我们简要的介绍了一下SQLite的软件架构以及每个组件的基本功能。接下来我们介绍一下数据库文件的相关功能。 在SQLite中一个文件承载着一个数据库实例这个文件称为主库文件main database file。除了主库文件外还可能有一些其它文件比如用于事务的日志文件等。本文主要集中介绍主库文件其它文件后续介绍。 页 数据库文件由多个页构成每个页的大小在512到65536字节之间且大小必须是2的幂。页通过编号进行标记起始值为1最大编号为2的31次幂-2。页的默认大小是4KB本文以默认大小为例进行介绍。 在数据库中的每个页都有一个特定的用途这些用途包括 锁字节页Lock-byte page剩余 页B树 页指针映射页有效负载溢出页 数据库文件的第一个页是比较特殊的它包含整个数据库文件的描述信息这里称为数据库头信息。 数据库头 数据库头包含100个字节的内容其中每一个成员的偏移大小和功能如下图所示。 我们可以创建一个数据库实例然后对照文件内容与数据库头的格式进行理解。比如数据库头的第一个成员为一个魔数用于标识该文件为SQLite数据库文件及版本。在下图中可以找到该信息可以看出两者完全匹配SQLite format 3。 除了上述数据库头的格式外每个不同的页都有不同的布局。限于篇幅本文暂时不过多介绍后面结合实例专门写一篇文章介绍各种不同的页的布局。
http://www.tj-hxxt.cn/news/231116.html

相关文章:

  • 广东省网站备案查询京东内部券网站怎么做
  • 软件开发设计制作网站下载八桂职教网官网
  • 做网站的公司有哪些专业做冻货的网站
  • 重庆 网站开发抖音代刷网站推广快速
  • 深圳市建设网络有限公司网站松江手机网站建设
  • 网站文明建设工程包括wordpress模板 古典
  • 网站建设与维护 书域名续费后网站打不开
  • 网站建设谈客户公司平台
  • 四川省住房和城乡建设厅网站企业网站模板库
  • 对外宣传及网站建设文件稿上海英文网站制作
  • 医院网站建设策划书重庆舞台搭建招聘
  • 一个网站域名一年要多少钱wordpress 搜索的过程
  • 做网站最好软件秦皇岛市城乡建设网站
  • 电子商务网站建设试卷.doc互联网推广策划
  • 民宿网站开发的开题报告百度如何快速收录
  • 做兼职设计去哪个网站好家装设计师网站
  • 百度网站提交地址cms建站模板app
  • 有没有网站是免费做店招图片的服务器出租网站
  • 网站开发详细报价网站建设图片属性设置
  • 信用网站建设工作总结o2o网站建设新闻
  • 网站备案有时间吗怎么做公司宣传网站
  • 包头移动的网站建设线上推广策略
  • 安丘网站建设制作百度推广工作怎么样
  • 成品免费网站源码梧州网站推广费用
  • 服装网站论文树莓派可以做网站空间吗
  • 有关wordpress教学的网站代做道路毕业设计网站
  • 四川城乡和建设厅网站淘宝网站可以做seo吗
  • 做网站按什么收费多少钱足球比赛直播 视频直播
  • 南宁住房建设部网站免费做网站的网页
  • 网站建设规划公司怎么样查中企动力做的网站