.Net 的 SQLite:Datareader 关闭方法太慢
Posted
技术标签:
【中文标题】.Net 的 SQLite:Datareader 关闭方法太慢【英文标题】:SQLite with .Net: Datareader Close Method is too slow 【发布时间】:2013-08-26 21:10:16 【问题描述】:我有一个从许多数据读取器读取的批处理过程。
当我使用完数据读取器后,我调用 close() 方法。
这太慢了。如果我不关闭数据读取器,应用程序将在 0.4 毫秒内运行 如果我关闭数据读取器,应用程序将在 26 秒内运行。
有没有人知道如何解决这个问题?
子程序中有很多数据读取器。恐怕不关闭它们我会把垃圾留在记忆中。
【问题讨论】:
这里还有更多上下文吗?你读过所有数据吗?它会丢弃您没有阅读的其他 200 万行吗?是否涉及交易? 不涉及事务。使用 sql server 我读到我可以在调用关闭之前为命令对象调用 Cancel 方法。提高速度,但不适用于 sqlite。结果集大约有 1000 行。我在通话结束前阅读了所有内容。考虑到我所有的大小,我认为这没什么。 您是否只从数据阅读器中读取前几行,通过在查询中输入top
可能会受益。
【参考方案1】:
已解决:
Datareader 的方法关闭很慢,因为它在 try-catch 中。 我删除了 de try-catch,现在可以了。
【讨论】:
以上是关于.Net 的 SQLite:Datareader 关闭方法太慢的主要内容,如果未能解决你的问题,请参考以下文章
DataReader + DropDownList ASP.NET 项目
MysqlException 未处理 DataReader 必须关闭此连接 vb.net