2017-04-17 71 views
1

好吧,我在我家運行Mysql的本地Ubuntu服務器。它有舊式硬盤,我有一個Linode運行SSD。簡單的mysql計數和花費的時間

在Linode上一個簡單的SELECT COUNT(*) FROM table計數106938412記錄需要37.14秒,而在我的家庭盒計數5376224記錄需要39分鐘!顯然有些不同。我應該在哪裏尋求加速。如果我要將非SSD數據本地移動到基於USB的驅動器上,會加速它的速度嗎?目前我正在兩個表上運行查詢(大量的選擇/插入),所以表將會是「活動的」,並且這兩個查詢集也會更新索引,所以我不確定這是否會解決這些差異?

當我運行EXPLAIN SELECT COUNT(*) FROM slow_table顯示Select tables optimized away所以我不認爲這有助於?

本地盒子上的RAM和CPU也很好。

+0

[存儲引擎(https://dev.mysql.com/doc/refman/5.7/en/storage-engines.html)您使用的是哪一種?無論如何,您可能會在DB專家所在的[dba.se]網站獲得更好的幫助。 – Pang

回答

0

在您的查詢中,而不是使用*,請使用任何特定的列名稱,主要是主鍵列。

嘗試此查詢:

SELECT COUNT(column_name) FROM table_name; 
+0

很遺憾沒有看到任何改進 – UKUser35