Mysql
MySQL slow_log 表:查詢需要很長時間
我正在查詢
slow_log
:SELECT start_time FROM mysql.slow_log WHERE start_time < TIMESTAMP '2016-01-31 00:00:00'
沒有
WHERE
子句(使用 aLIMIT
),選擇很快。但是,這
LIMIT
給了我最舊的日誌,ORDER BY
對我來說也有同樣的問題。這是 MySQL 的問題,還是與我正在執行 Google Cloud SQL 數據庫的事實有關?
答案最初由Michael - sqlbot作為評論留下:
主要是MySQL的事情。慢查詢日誌“表”——預設情況下——實際上只是“CSV 儲存引擎”讀取的一個 CSV 文件,它模擬一個表,但使用一個簡單的 CSV 文件作為其表空間。
這允許追加到慢查詢“表”是一個低成本的操作,但當然 CSV 文件沒有索引,因此必須從頭開始掃描。
我沒有使用過 Google Cloud SQL,因此我無法就您可能擁有的選項提供權威答案,例如將其更改為 MyISAM 表並為其編制索引。
請參閱產品文件中的選擇正常查詢和慢查詢日誌輸出目標。