难以忍受的SQLite数据库批量更新!?
原来的做的一个软件使用SQLServer 2005 express,主要是安装程序可以把这个精简版的数据库很方便地打包在其中,但在使用的过程中用户还是出现安装数据库时的种种问题,一个偶然的机会接触了SQlite,这只麻雀数据库顿时引起了我的注意,正是因为它完全满足所有数据库标准,这使得我原来软件中的针对express的sql语句可以完全不加修改地在Sqlite上执行,唯一需要改变的地方便是数据库连接以及执行命令的几个类,这个工作还是可以接受的。我庆幸找到了这个易用而且又可以完全嵌入软件中的数据库。
接下来就是代码的替换,开始我以为只需要替换SQLConnection,SQLCommander,SQLDataAdapter为相应的Sqlite中的类即可,替换完之后,发现SqlBulkCopy还在报错,这个数据批量处理的利器我起初以为在Sqlite中也有相应的类,但经过一番尝试和搜索之后,发现Sqlite却不支持这种方式的批量拷贝,无奈只有使用SqlDataAdapter的Update,但这个方法却非常之慢,5000行*3列的数据竟然更新了10分钟,这种速度岂是可以等待的?无奈又使用insert语句的循环,这个不但格式费劲,因为要拼写sql语句,而且效率也没有多大提升,主要体现在字符串的拼构很费时间和效率,最后测试下来只比原来的快了一点,至今尚未找到效率更好的方法,希望高人指教!!!

浙公网安备 33010602011771号