Sqlite使用中的几点体会。
最近接了个美国的小项目,主要需求是把盘点机导出的数据(DBF格式)和另外的数据(csv格式)合并生成新的数据表,方便查询纠错。对方没有安装ms Access,考虑到对方使用方便,就采用了sqlite,开发语言使用.net 2.0。 下面简单罗列下用过程中的几点体会。 Provider :通过使用其他开源软件的体会和网上搜索,Provider决定使用 System.Data.SQLite 。 事务(DbTransaction) :因为涉及数据导入合并,批量插入和更新等工作是必须的了,一开始没有显式调用事务,速度别提多慢,于是想当然觉得sqlite速度比access还慢,后来搜索发现,原来 SQLite 缺省为每个操作启动一个事务,其实这是数据库操作的基本常识,不仅仅Sqlite需要注意这些,当然Access等不支持事务的不在此列。 索引(index) :数据导入合并,插入和更新时都需要查询数据是否有重复以及存在,所以索引是不可以缺少的。 S QLiteParameter :批量插入的时候,为了省懒事,使用string.format来格式化插入,结果碰到“ near "s": syntex error. ”,经过跟踪,原来是单引号(')的问题,看来还是乖乖使用 S QLiteParameter来规范地导入,并可以避免很多字符上的问题。 Update ...From(Cross Join