自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 资源 (4)
  • 收藏
  • 关注

原创 SQLite3源码学习(11)lookaside分析

1.概述        SQLite数据库连接会进行许多小的、短期的内存分配。当用sqlite3_prepare_v2()编译SQL语句时这种情况最常见。这些小的内存分配用来存储诸如表名和列名,解析树节点、单独的查询结果、B-Tree游标对象。这会导致频繁地调用malloc()和free(),用掉分配给SQLite的大部分CPU时间片。 SQLite引入lookaside来帮助减小分配内存的

2018-01-31 22:29:14 1112

原创 SQLite3源码学习(10)testpcache分析

testpcache是page cache的一个简单插件,用tcl调试时输入命令sqlite3_shutdown和sqlite3_config_alt_pcache 1就会把pcache1替换成testpcache。 testpcache由下列函数构成:   static const sqlite3_pcache_methods2 testPcache = {     1,     (vo

2018-01-28 14:44:56 469

原创 SQLite3源码学习(9)Page Cache概述

Page cache是进程分配的内存空间,用来缓存数据页面。page cache的管理独立于操作系统,当一个线程打开一个数据库连接时就会建立一个page cache,对于一个进程中的多线程,它们可以有独立的cache也可以共享一个cahce,下图描述了page cache的结构: 在Pager初始化时为pPager->pPCache分配了空间,pPCache是PCache类型的结构体,其成员

2018-01-26 23:27:48 1810

原创 SQLite3源码学习(8)Pager模块概述及初始化

1.概述        当前端解析完SQL命令后,需要对数据库进行操作时,会通过B-Tree模块查找需要的页面,B-Tree维护着磁盘各页面之间的复杂关系,B-Tree不会直接读写磁盘,它会通过调用pager模块来获取所需的页面或修改页面,pager模块的作用可以说是B-Tree和磁盘读写的中间代理。 pager模块作为事务管理器,实现了数据库的ACID特性,从而支持并发控制和存储失败后的恢

2018-01-21 18:42:11 1385

sqlite3的函数执行过程跟踪

对sqlite3的函数执行过程记录,针对数据库的创建,新建表,插入数据,读取数据等操作的追踪,分别使用ftrace和uftrace生成的报告

2018-02-22

sqlite3的tcl扩展源码eclipse工程

sqlite3的tcl扩展,这个是eclipse工程,已经编译通过。

2017-11-24

这份资源不对,建议删除

sqlite3的tcl扩展,这个是eclipse工程,已经编译通过。

2017-11-24

sqlite3编译通过的多文件eclipse工程

sqlite3源码的编译一般都是很多个文件合成一个文件,现在把官方多文件的源码整理成可编译的eclipse工程,使用tdm-gcc编译器器

2017-11-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除