SQLite的优化方法

SQLite的优化方法
例如:在数据库中插入100万个数据,如果只在默认情况执行它,就可以了。

sqlite3_exec(dB,插入名称值的lxkxf ',' 24 ';0, 0,zerrmsg);

将重复关闭数据库文件100万次,因此速度肯定会很慢,因此我们应该使用事务来处理这种情况。

具体的方法如下:在执行SQL语句和执行SQL语句之后,添加

RC = sqlite3_exec(DB,开始;

执行sql语句

RC = sqlite3_exec(DB,承诺;
在这种方式中,SQLite将首先减缓内存中的所有SQL语句,然后等待承诺写入数据库时,使数据库文件的打开和关闭,只有一次,而且效率大大提高。有一组数据对比:
测试1:1000插入

创建表T1(一个整数,整数B,C varchar(100));
插入T1值(113153,'thirteen万一百五十三);
插入T1值(275560,七十一五千五百六十);
省略995行…
插入T1值(99866289,'sixty六千二百八十九);
插入T1值(99924322,'twenty四千三百二十二);
插入T1值(100094142,'ninety四千一百四十二);

SQLite 2.7.6:
十三点零六一

SQLite 2.7.6(同步NoSync):
零点二二三

测试2:使用事务25000插入

开始;
创建表T2(一个整数,整数B,C varchar(100));
插入的T2值(159672,'fifty九千六百七十二);
省略24997行…
插入的T2值(2499989569,'eighty九千五百六十九);
插入的T2值(2500094666,'ninety四千六百六十六);
承诺;

SQLite 2.7.6:
零点九一四

SQLite 2.7.6(同步NoSync):
零点七五七

可以看出,交易的使用大大提高了数据库的效率,但同时也要注意,使用交易也是一种代价,所以对于极少量的操作不能使用,以免造成额外的消耗。
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部