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)
时间: 2024-10-15 00:39:40