Mysql查询显示不同的结果

时间:2017-05-15 07:12:59

标签: php mysql mysqli

我想计算表中的总记录数。我的表包含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 - 右

1 个答案:

答案 0 :(得分:0)

说明不是优化,它是对指定语句的执行计划的描述。此解释以表格形式返回。这就是你在想的。

因此,你在计算完全不同的东西。

来自MySQL docs

  

EXPLAIN用于获取查询执行计划(即,MySQL将如何执行查询的说明)。

由于explain select可以返回受影响的行。您可能想要使用类似

的内容
EXPLAIN 
SELECT SUM(rows)
FROM table_name
GROUP BY (table, rows)