码迷,mamicode.com
首页 > 数据库 > 详细

如何提升SQLite的性能

时间:2014-11-06 12:53:31      阅读:287      评论:0      收藏:0      [点我收藏+]

标签:io   ar   使用   sp   数据   on   cti   bs   size   

  SQLite是一款轻量级的数据库,不需要任何的安装就可以使用,并且还是开源的,这作为开发者的我们无疑是一个天大的福音。

  但是在使用SQLite过程中,或许你会因为那奇慢无比的性能头疼不已,因为修改的性能是那么的低下。出现性能低下的情况是因为对SQLite的功能了解得不够,SQLite里有很多默认的设置导致了性能的降低。下面我将揭开提高SQLite性能的神秘面纱

  1、  增大Cache值,在服务器允许的情况下,尽量增大Cache的值;

  例如:PRAGMA cache_size = 256 * 1024; (SQLite默认页大小为1KB,cache_size如果为正数,则表示cache设置为多少页,如果为负数则表示设置为多少KB)

  2、  手动事务,SQLite默认情况下为每一句SQL语句均自动加上事务,如果不手动调整事务,SQLite的效率很低;

  开始事务:begin transaction(begin)

  提交事务:commit transaction(end)

  回滚事务:rollback transaction(rollback)

  3、  设置Journal日志模式,最新版本的SQLite日志模式默认为TRUNCATE,除了修改外,其他性能均比较可观,如果修改比较多的话,建议使用PERSIST日志模式。当然,条件允许使用MEMORY更好。在使用其他日志模式的之前,需考虑意外断开数据库连接的情况。

  例如:PRAGMA journal_mode = memory; (设置日志模式为内存模式)

  4、  对于频繁使用的操作,可以采用一次Prepare,在SQLite中,Prepare是需要耗一些资源的,并且这些资源累积起来对于系统也是一笔不小的开销。在设计允许的情况下,建议多使用一次Prepare这种模式。

  注意事项:在每次的bind之前,需要reset sqlite3_stmt对象

  5、  如果使用一次性数据库,可以使用内存数据库”:memory:”,记住,字母必须全为小写。

如何提升SQLite的性能

标签:io   ar   使用   sp   数据   on   cti   bs   size   

原文地址:http://www.cnblogs.com/nieyi-peter/p/4030699.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!