Mysql

MySQL slow_log 表:查詢需要很長時間

  • September 29, 2016

我正在查詢slow_log

SELECT start_time FROM mysql.slow_log WHERE start_time < TIMESTAMP '2016-01-31 00:00:00'

沒有WHERE子句(使用 a LIMIT),選擇很快。

但是,這LIMIT給了我最舊的日誌,ORDER BY對我來說也有同樣的問題。

這是 MySQL 的問題,還是與我正在執行 Google Cloud SQL 數據庫的事實有關?

答案最初由Michael - sqlbot作為評論留下:

主要是MySQL的事情。慢查詢日誌“表”——預設情況下——實際上只是“CSV 儲存引擎”讀取的一個 CSV 文件,它模擬一個表,但使用一個簡單的 CSV 文件作為其表空間。

這允許追加到慢查詢“表”是一個低成本的操作,但當然 CSV 文件沒有索引,因此必須從頭開始掃描。

我沒有使用過 Google Cloud SQL,因此我無法就您可能擁有的選項提供權威答案,例如將其更改為 MyISAM 表並為其編制索引。

請參閱產品文件中的選擇正常查詢和慢查詢日誌輸出目標

引用自:https://dba.stackexchange.com/questions/150948