[英]C# System.Data.SQLite Designer Code
我一直在与Visual Studio 2008中的SQLite设计器打交道,并且已经注意到,当我使用生成的Insert / Update语句时,它们的运行速度非常慢。
示例:我有一个包含四列和5700行的数据表,大约需要5分钟才能将数据插入数据库表
但是,我使用参数和单个事务编写了自己的数据库连接和插入方法,并且在1秒内插入了相同的5700行。
为什么生成的代码这么慢,即使使用它也有什么好处?
谢谢。
内森
如果我正确地知道该insert语句是内置在代码背后的,那通常会花很长时间执行...它必须被编译,处理成CLR等。如果在数据库上使用存储过程,需要较少的时间,因为从代码后台调用该过程时,已经完成了这些步骤。 直接在数据库中使用过程总是比在后台隐藏代码更好,更快。
我已经阅读到SQLite的默认行为是将每个Insert语句包装在Transaction中,我认为这可以解释您所看到的行为。 当SQLite引擎创建Insert语句时,它会花费很长时间,而在编写sql时,它会很快运行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.