加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-12 19:05:47 所属栏目:百科 来源:网络整理
导读:检查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
检查SQLite表是否超过100,000行的最快方法是什么?

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

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

花了0.27秒.

以下三个需要12分半钟

SELECT COUNT(*) FROM table
SELECT COUNT(*) FROM table LIMIT 100001
SELECT 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类型的虚拟列并将其编入索引.索引将非常紧凑,扫描速度最快.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读