2012-09-13 18 views
0

我使用PHP函數mysql_stat()來獲取有關我的MySQL數據庫的信息。能找出哪些MySQL查詢很慢嗎?

有一個條目Slow queries,在我的情況是94(301729查詢)。是否有包含有關查詢的更多信息的日誌文件? (時間,執行時間,查詢本身,...)?

14小時前,我建立了一臺新的服務器,內存增加了4倍......但仍然有0.031154%的查詢速度很慢,這與之前基本相同,我認爲這非常高。我真的很想知道哪些是慢速查詢,以及如何優化它們。什麼是可接受的慢速查詢比例?

+0

還取決於long_query_time的值是什麼。我已經看到它設置爲'2',這可能適用於OLTP,但不適用於OLAP。 –

回答

3

您可以在my.cnf中啓用日誌緩慢查詢。將慢查詢寫入日誌。

log_slow_queries = /var/log/mysql/mysql-slow.log 

我認爲如果用戶需要等待,應該永遠不要讓查詢慢於0.2秒。在沒有用戶參與的情況下執行cron時,並不重要。但是,如果您使用相同的數據庫/表,則cron的查詢會減慢正常查詢(鎖定/ i/o)。

您可以通過設置正確的索引來優化您的數據庫,並使用EXPLAIN嘗試不同的查詢。