Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 为什么行数与表中的SELECT COUNT(*)不同_Mysql_Sql_Database - Fatal编程技术网

Mysql 为什么行数与表中的SELECT COUNT(*)不同

Mysql 为什么行数与表中的SELECT COUNT(*)不同,mysql,sql,database,Mysql,Sql,Database,我对DB没有太多经验,但这件事有点让人困惑: 首先我做了: mysql> EXPLAIN SELECT COUNT(*) FROM tweets; +----+-------------+--------+-------+---------------+---------+---------+------+----------+-------------+ | id | select_type | table | type | possible_keys | key | key

我对DB没有太多经验,但这件事有点让人困惑: 首先我做了:

mysql> EXPLAIN SELECT COUNT(*) FROM tweets;
+----+-------------+--------+-------+---------------+---------+---------+------+----------+-------------+
| id | select_type | table  | type  | possible_keys | key     | key_len | ref  | rows     | Extra       |
+----+-------------+--------+-------+---------------+---------+---------+------+----------+-------------+
|  1 | SIMPLE      | tweets | index | NULL          | user_id | 4       | NULL | 18683420 | Using index |
+----+-------------+--------+-------+---------------+---------+---------+------+----------+-------------+
1 row in set (0.03 sec)
然后我尝试了这个:

mysql> SELECT COUNT(*) FROM tweets;
+----------+
| COUNT(*) |
+----------+
| 15254792 |
+----------+
1 row in set (9.60 sec)
但行数和我上次查询得到的行数不同。 你能解释一下为什么吗?这是一个错误还是一个预期结果?

预期结果


解释用于制定查询计划的索引,而不是实际的索引(或数据)。

这取决于引擎,AFAIK