當我剛開始使用MySQL時,select count(*)
或select count(1)
幾乎是瞬間的。但是我現在使用的是Dreamhost版本5.6.25,有時需要20-30秒才能完成select count(1)
。然而,第二次是快速的---就像索引被緩存---但不是超快速,就像數據來自元數據索引一樣。爲什麼mysql select count(1)花了這麼久?
有人明白髮生了什麼事,爲什麼發生了變化?
mysql> select count(1) from times;
+----------+
| count(1) |
+----------+
| 1511553 |
+----------+
1 row in set (22.04 sec)
mysql> select count(1) from times;
+----------+
| count(1) |
+----------+
| 1512007 |
+----------+
1 row in set (0.54 sec)
mysql> select version();
+------------+
| version() |
+------------+
| 5.6.25-log |
+------------+
1 row in set (0.00 sec)
mysql>
和數據量與過去相似嗎? – michaJlS
在我有10億行之前,我對每個查詢都得到了亞秒級響應。 – vy32