深入浅出SQLite(二): SQLite高级优化方法

SQLite优化

目录

  • 插入效率优化
    • 显式开启事务
    • 写同步(synchronous)
    • 执行准备
    • 内存数据库:
    • 使用WAL模式
  • 查询速度优化
  • SQLite 深度优化
    • SQLite加密
    • page size和cache ize优化
    • SQLite内存分配优化
    • 禁用文件锁
    • 多线程并发优化
  • 其它优化(知道下就好)
    • Shared-Cache Mode
    • 内存映射IO

插入效率优化

显式开启事务
  • 所谓”事务“就是指一组SQL命令,这些命令要么一起执行,要么都不被执行。在SQLite中,每调用一次sqlite3_exec()函数,就会隐式地开启了一个事务,如果插入一条数据,就调用该函数一次,事务就会被反复地开启、关闭,会增大IO量。如果在插入数据前显式开启事务,插入后再一起提交,则会大大提高IO效率,进而加快数据插入速度。示例代码如下:
      sqlite3_exec(db,"BEGIN",0,0,0);  
      for(int i=0;i<nCount;++i)  
      {
     
          std::stringstream ssm;  
          ssm<<"insert into t1 values("<<i<<","<<i*2<<","<<i/2<<","<<i*i<<")";  
          sqlite3_exec(db,ssm.str

你可能感兴趣的:(嵌入式数据库,sqlite)