为SQLITE指定SELECT超时时间



是否可以指定SELECT查询可能使用SQLITE的最大时间量?

这种情况将是有用的,当你有大的表格,用户有可能输入免费的搜索条件。如果搜索的词不能很快找到,那么扫描整个表,这可能需要很长时间,因为索引通常不能使用。

所以让SQLITE在几秒钟后放弃是有用的。

我通过System.Data.Sqlite使用SQLITE,似乎SqliteCommand。CommandTimeout将是我想要的,但由于某种原因,设置这个似乎没有效果。也许我遗漏了什么。

对于一个简单的select查询,不,似乎没有办法在SQLite本身上设置超时或最大执行时间。文档中唯一提到的超时是忙超时。因此,如果需要限制选择查询的最大时间,则需要在应用程序级别用超时包装连接,并在超过该超时时取消/关闭连接。如何做到这一点显然是应用程序/语言特定的。

对于繁忙超时(连接停止等待锁清除之前的超时),您可以通过提供的C接口或通过提供给应用程序的SQLite驱动程序来实现。

最新更新