数据库
mynicedream
随缘
展开
-
免费的实时数据库,我们该选谁?----BerkeleyDB与SQLite评测对比
最近要做一个项目,需要用到实时数据库,PI太贵了,想找一个免费的,实在不行就只能自己编了。找了半天,找到了FastDB、BerkeleyDB和SQLite. FastDB是内存型数据库,据说很快,但数据库大小不能大于物理内存,不然。。。反正我看到这就走了,我可是要一秒内处理几千个数据,还要保存8小时以上的啊!BerkeleyDB和SQLite倒原创 2008-04-04 23:19:00 · 24403 阅读 · 9 评论 -
SQLite的 cannot commit - no transaction is active报错
最近测试SQLite时遇到了一个奇怪的问题,我在大批量循环插入记录时偶然会报告“cannot commit - no transaction is active”错误,多次尝试仍然如此,代码如下:... for (int j=0;j { rc = sqlite3_exec(db, "BEGIN TRANSACTION;", NULL, NULL, &errMsg); for (原创 2008-04-12 09:19:00 · 15194 阅读 · 2 评论 -
SQLite内存数据库使用有感
SQLite不仅可以把数据库 放在硬盘上,还可以放在内存中(sqlite3_open(":memory:", &db)),经测试,同样条件下数据库放在内存中比放在硬盘上插入记录速度快差不多3倍。但数据库放在内存中时有如下缺陷:1、断电或程序崩溃后数据库就会消失,你需要定期Attach到硬盘上备份;2、在内存中的数据库不能被别的进程访问(因为没名字,以后可能支持),即使在多线程下,也得使原创 2008-04-12 09:31:00 · 12165 阅读 · 0 评论