0

我一直在使用 Visual Studio 2008 中的 SQLite 设计器,我注意到当我使用生成的插入/更新语句时,它们的运行速度非常慢。

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

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

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

谢谢。

弥敦道

4

2 回答 2

0

我读过 SQLite 中的默认行为是将每个 Insert 语句包装在事务中,我认为这可以解释您所看到的行为。当 SQLite 引擎创建插入语句时,它需要很长时间,而当您编写 sql 时,它运行得非常快。

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

于 2010-04-03T23:56:36.733 回答
0

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

于 2010-01-07T05:36:41.163 回答