sql - 在 SQLite 中计算表中行数的最有效方法是什么?

标签 sql sqlite

我一直只使用“SELECT COUNT(1) FROM X”,但也许这不是最有效的。有什么想法吗?其他选项包括 SELECT COUNT(*) 或获取最后插入的 ID(如果它自动递增(且从未删除))。

如果我只是想知道表中是否有任何内容呢? (例如,计数 > 0?)

最佳答案

最好的方法是确保在单个列上运行 SELECT COUNT(SELECT COUNT(*) 较慢)- 但 SELECT COUNT 将始终是获取事物计数的最快方法(数据库在内部优化查询)。

如果您查看下面的评论,您会看到为什么 SELECT COUNT(1) 可能是您的最佳选择的论据。

关于sql - 在 SQLite 中计算表中行数的最有效方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4474873/

相关文章:

ios - 数据库存在于模拟器中但不存在于设备构建中(将文件从 App Bundle 复制到 Swift 中的文档目录)

ios - 更新查询时 ios 出现 "database locked"错误

android - 如何在Android应用程序中同步服务器数据?

mysql - SQL:完全外部连接不工作

MySQL - 加入两个表,分组和计数

c++ - SQL 语句的解析树 - 精确针对 "SELECT"语句

sql - PostgreSQL 触发器在使用外键插入表 A 后插入表 B

static - 何时使用 SQLITE_TRANSIENT 与 SQLITE_STATIC?

django - 系统检查发现 3 个问题(0 已静音)

MySQL (MariaDB) while 循环