C#System.Data.SQLite设计器代码

时间:2010-01-07 04:35:43

标签: c# sqlite system.data.sqlite

我一直在使用Visual Studio 2008中的SQLite Designer,我注意到当我使用生成的Insert / Update语句时,它们的运行速度非常慢。

示例:我有一个包含四列和5700行的数据表,将数据插入数据库表需要约5分钟

但是,我编写了自己的数据库连接并使用参数和单个事务插入方法,并在1秒内插入相同的5700行。

为什么生成的代码如此缓慢,甚至使用它有什么好处?

感谢。

内森

2 个答案:

答案 0 :(得分:0)

如果我正确理解插入语句是在代码隐藏中构建的,那么执行需要很长时间才是正常的...它必须被编译,处理变成CLR等。如果你使用存储过程数据库花费的时间较少,因为当你从代码隐藏中调用它时,该过程已经完成了这些步骤。直接使用数据库中的过程总是更好,更快,而不是在代码隐藏中使用它们。

答案 1 :(得分:0)

我已经读过SQLite中的默认行为是将每个Insert语句包装在一个Transaction中,我认为这解释了你所看到的行为。当SQLite引擎创建Insert语句时,需要很长时间,当你编写sql时,它运行得非常快。

http://www.sqlite.org/faq.html#q19