MySQL 找出 Query 速度慢的語法

2009/09/11 更新

編輯 vi /etc/my.cnf
# 記錄檔
# 預設會在 /var/lib/mysql/主機名稱-slow.log
log-slow-queries = /var/log/mysql-slow.log

# 超過 10 秒就記錄
# 預設10秒,最小從1秒開始
long_query_time = 10

# 記錄沒有使用 index 的 sql 語法
# 4.1 版本之前使用 log-long-format
# 4.1 版本之後使用 log-queries-not-using-indexes
log-queries-not-using-indexes

# 設定 log-slow-admin-statements 可以記錄管理級的語法,例如  OPTIMIZE TABLE, ANALYZE TABLE, and ALTER TABLE

記錄內容長這樣,more /var/log/mysql-slow.log

# Time: 071013  3:45:36
# User@Host: cross[cross] @ localhost [127.0.0.1]
# Query_time: 35  Lock_time: 0  Rows_sent: 1296  Rows_examined: 2897411
select email from maillog where status='bounced' and time like '2007-10-12%';

再來就用分析工具 mysqldumpslow
它可以:
1。統計相同語法的數量,預設會"數值"變成 'S' 才能統計相同數
2。統計前幾名
3。排序
等等

標籤: mysql
評論: 0 | 引用: 0 | 閱讀: 1710 | 列印 | 文件 | 轉發

發表評論
暱 稱: 密 碼:
網 址: E - mail:
驗證碼: 驗證碼圖片 選 項:
頭 像:
內 容:
  • 粗體
  • 斜體
  • 底線
  • 插入圖片
  • 超連結
  • 電子郵件
  • 插入引用
  • 表情符號