从C#.net 2中的DataTable填充SQLite数据库的最快方法是什么?
目前我正在为表中的每一行构建插入语句.我尝试过dataadaptor,但速度似乎没有更快.目前需要5分钟才能遍历20,000行并将其写入数据库.任何sugestions?
解:
我发现使用BEGIN ... COMMIT的插入声明的区别块为我带来了显着的速度提升:
BEGIN;
INSERT INTO friends (name1,name2) VALUES ('john','smith');
INSERT INTO friends (name1,name2) VALUES ('jane','doe');
COMMIT;
Run Code Online (Sandbox Code Playgroud)
我的insert语句大约每个500字节,因此我将每个事务的语句数量限制为100.
请参阅 SQLite 网站上的常见问题解答条目:
http://www.sqlite.org/faq.html#q19
默认情况下,每个 INSERT 语句都是其自己的事务。但是,如果您用 BEGIN...COMMIT 包围多个 INSERT 语句,则所有插入都会分组到单个事务中。提交事务所需的时间分摊到所有包含的插入语句上,因此每个插入语句的时间大大减少。
| 归档时间: |
|
| 查看次数: |
3495 次 |
| 最近记录: |