SQLite:检查表是否超过x行的最快方法

SQLite:检查表是否超过x行的最快方法,第1张

概述检查SQLite表是否超过100,000行的最快方法是什么? 测试表有26列和200,000,000行. SELECT COUNT(*) FROM ( SELECT * FROM table LIMIT 100001 ) 花了0.27秒. 以下三个需要12分半钟 SELECT COUNT(*) FROM tableSELECT COUNT(*) FROM table LIMIT 100001S 检查sqlite表是否超过100,000行的最快方法是什么?

测试表有26列和200,000,000行.

SELECT COUNT(*) FROM ( SELECT * FROM table liMIT 100001 )

花了0.27秒.

以下三个需要12分半钟

SELECT COUNT(*) FROM tableSELECT COUNT(*) FROM table liMIT 100001SELECT CASE WHEN COUNT(ID) >= 100000 THEN 1 ELSE 0 END FROM table
select count(*) from ( select top 100001 ID from T) x

我们需要扫描索引来回答查询.这至少将索引扫描限制为前100001行.如果表格有1米的行,这可以节省90%的工作量.

(在这里使用sql Server语法 – 请翻译自己,因为我不能这样做).

您可以选择一些索引列而不是ID.我不知道优化器是否可以自己做.

请注意,像查看身份或ID列值这样的聪明技巧通常不起作用.

要支持上述查询,请创建bit类型的虚拟列并将其编入索引.索引将非常紧凑,扫描速度最快.

总结

以上是内存溢出为你收集整理的SQLite:检查表是否超过x行的最快方法全部内容,希望文章能够帮你解决SQLite:检查表是否超过x行的最快方法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1160103.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存