我想计算表中的总记录数。我的表包含100万条记录,因此我使用
EXPLAIN
SELECT COUNT(id) FROM table_name
而不是
SELECT COUNT(id) FROM table_name
更快的检索。
如果我使用SELECT COUNT(id) FROM table_name
表示我正在计算正确数量。 EXPLAIN SELECT COUNT(id) FROM table_name
给出错误的计数。我已将记录数减少到10000,但我仍无法找到问题。
这是我的查询
EXPLAIN SELECT COUNT(id) FROM table_name
- 12764 - 错误
SELECT COUNT(id) FROM table_name
- 10000 - 右
答案 0 :(得分:0)
说明不是优化,它是对指定语句的执行计划的描述。此解释以表格形式返回。这就是你在想的。
因此,你在计算完全不同的东西。
来自MySQL docs:
EXPLAIN用于获取查询执行计划(即,MySQL将如何执行查询的说明)。
由于explain select
可以返回受影响的行。您可能想要使用类似
EXPLAIN
SELECT SUM(rows)
FROM table_name
GROUP BY (table, rows)