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

SQLite笔记

时间:2014-10-22 17:49:54      阅读:206      评论:0      收藏:0      [点我收藏+]

标签:sp   文件   数据   on   bs   时间   new   sql   table   

1、将INTEGER类型转成日期类型:
CreateDate为INTEGER类型

INSERT INTO tblTest(AccountId,UserName,CreateDate) VALUES({0},{1},strftime(‘%s‘,{2}));

转换的时候:

select datetime(CreateDate,‘localtime‘,‘unixepoch‘) from tblTest


2、在SQLite中,大数据用Join时非常慢,在此如果有多个表需要Join,解决方案是加载到内存中,然后再进行join,方案是:

2.1、数据量小的表join,再根据某个id进行排序操作,暂且称为T1

2.2、数据量大的直接查出到DataTable中,另外对Id排序操作,暂且称为T2
2.3、T1和T2根据排序后的id对比,添加到Table中即可。

 

3、在SQLite中插入大数据直接用Insert会非常慢,需要通过事务的方式插入,原理是生成批次的SQL,再提交。好处是,不需要每次都要Open()操作,减少链接。缺点时,插入数据会有所延迟,需要一点时间。

 

4、用delete删除表中的数据时,发现文件大小没有减少,解决方法是:在SQLiteCommand方法重载中加上"VACUM"标识,即可立即见效果。

e.g: DbCommand command = new SQLiteCommand("VACUUM", conn)

SQLite笔记

标签:sp   文件   数据   on   bs   时间   new   sql   table   

原文地址:http://www.cnblogs.com/nete/p/4043601.html

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