- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
轻量级开源内存数据库SQLite性能测试轻量级开源内存数据库SQLite性能测试
轻量级开源内存数据库SQLite性能测试
2012年10月17日00:05?it168网站原创 作者:黄皓 编辑:王玉圆?查看全文
赞(1)评论(0)?分享
标签:?开源数据库?, sqlite?, 内存数据库
ATTACH DATABASE?BEGIN TRANSACTION?comment?COMMIT TRANSACTION?COPY?CREATE INDEX?CREATE TABLE?CREATE TRIGGER?CREATE VIEW?DELETE?DETACH DATABASE?DROP INDEX?DROP TABLE?DROP TRIGGER?DROP VIEW?END?TRANSACTION?EXPLAIN?expression?INSERT?ON?CONFLICT clause?PRAGMA?REPLACE?ROLLBACK TRANSACTION?SELECT?UPDATE
同时它还支持事务处理功能等等。也有人说它象Microsoft的Access,有时候真的觉得有点象,但是事实上它们区别很大。比如SQLite 支持跨平台,操作简单,能够使用很多语言直接创建数据库,而不象Access一样需要Office的支持。如果你是个很小型的应用,或者你想做嵌入式开发,没有合适的数据库系统,那么现在你可以考虑使用SQLite。它的官方网站是:http://www.SQL或者http://www.SQL,能在上面获得源代码和文档。同时因为数据库结构简单,系统源代码也不是很多,也适合想研究数据库系统开发的专业人士。
下面是访问SQLite官方网站: http://www.SQL/ 时第一眼看到关于SQLite的特性:
?????ACID事务?????零配置 – 无需安装和管理配置?????储存在单一磁盘文件中的一个完整的数据库?????数据库文件可以在不同字节顺序的机器间自由的共享?????支持数据库大小至2TB?????足够小, 大致3万行C代码, 250K?????比一些流行的数据库在大部分普通数据库操作要快?????简单, 轻松的API?????包含TCL绑定, 同时通过Wrapper支持其他语言的绑定?????良好注释的源代码, 并且有着90%以上的测试覆盖率?????独立: 没有额外依赖?????Source完全的Open, 你可以用于任何用途, 包括出售它?????支持多种开发语言,C, PHP, Perl, Java, ASP.NET,Python
?????SQLite3_open()?????SQLite3_prepare()?????SQLite3_step()?????SQLite3_column()?????SQLite3_finalize()?????SQLite3_close()
这几个过程是概念上的说法,而不完全是程序运行的过程,如SQLite3_column()表示的是对查询获得一行里面的数据的列的各个操作统称,实际上在SQLite中并不存在这个函数。
SQLite3_open():打开数据库
在操作数据库之前,首先要打开数据库。这个函数打开一个SQLite数据库文件的连接并且返回一个数据库连接对象。这个操作同时程序中的第一个调用的SQLite函数,同时也是其他SQLite api的先决条件。许多的SQLite接口函数都需要一个数据库连接对象的指针作为它们的第一个参数。
1.函数定义:
int?SQLite3_open(??const?char?*filename,???/*?Database filename (UTF-8)?*/??SQLite3?**ppDb??????????/*?OUT: SQLite db handle?*/);int?SQLite3_open16(??const?void?*filename,???/*?Database filename (UTF-16)?*/??SQLite3?**ppDb??????????/*?OUT: SQLite db handle?*/);int?SQLite3_open_v2(??const?char?*filename,???/*?Database filename (UTF-8)?*/??SQLite3?**ppDb,?????????/*?OUT: SQLite db handle?*/??int?flags,??????????????/*?Flags?*/??const?char?*zVfs????????/*?Name of VFS module?to?use?*/);
2.说明:
文档评论(0)