易截截图软件、单文件、免安装、纯绿色、仅160KB

sqlite内存数据库使用有感

SQLite不仅可以把数据库 放在硬盘上,还可以放在内存中(sqlite3_open(":memory:", &db)),经测试,同样条件下数据库放在内存中比放在硬盘上插入记录速度快差不多3倍。但数据库放在内存中时有如下缺陷:
1、断电或程序崩溃后数据库就会消失,你需要定期Attach到硬盘上备份;
2、在内存中的数据库不能被别的进程访问(因为没名字,以后可能支持),即使在多线程下,也得使用同一句柄;
3、不支持像在硬盘上的读写互斥处理,自己加锁吧。
  看来,追求速度要付出代价啊!


相关文档:

QT读写Sqlite数据库 FurtherChan

QT读写Sqlite数据库
//.h
/****************************************************************************
**
** Date    : 2010-05-08
** Author  : furtherchan
** If you have any questions , please contact me
**
****************************************************************** ......

sqlite触发器一例

int column_names_printed = 0;
void print_row(int n_values, char** values)
{
    int i;
    for (i = 0; i < n_values; ++i) {
        printf("%10s", values[i]);
    }
    printf("\n& ......

总结SQLite不支持的SQL语法有哪些


1 TOP
这是一个大家经常问到的问题,例如在SQLSERVER中可以使用如下语句来取得记录集中的前十条记录:
SELECT TOP 10 * from [index] ORDER BY indexid DESC;
 
但是这条SQL语句在SQLite中是无法执行的,应该改为:
SELECT * from [index] ORDER BY indexid DESC limit 0,10;
 
其中limit 0,10表示从第0 ......

sqlite加密设计的缺陷与改进


sqlite是
一个非常小巧的跨平台嵌入式数据库,它本身不提供加密功能,不过设计者明显也考虑了加密的方案,我们在源码中可以找到两个预留的加密接
口:sqlite3_key和sqlite3_rekey,可以通过实现这两个接口来达到加密的目的。
        如何加密,已经有很多文章描述,可以参考:《
......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号