目的
根據發現的問題,找到原因,然后對癥下藥
借鑒資料:
沒用過慢查詢日志,別說自己做過資料庫優化
慢查詢日志概念
記住七個字搞定索引失效問題
發現問題(主動/被動)
問題點:資料庫查詢程序中速度過慢的SQL陳述句
主動:資料庫默認情況下slow_query_log的值為OFF,表示慢查詢日志是禁用的
mysql> show variables like '%slow_query_log%';
+---------------------+-----------------------------------------------+
| Variable_name | Value |
+---------------------+-----------------------------------------------+
| slow_query_log | OFF |
| slow_query_log_file | /home/WDPM/MysqlData/mysql/DB-Server-slow.log |
+---------------------+-----------------------------------------------+
2 rows in set (0.00 sec)
mysql> set global slow_query_log=1;
Query OK, 0 rows affected (0.09 sec)
mysql> show variables like '%slow_query_log%';
+---------------------+-----------------------------------------------+
| Variable_name | Value |
+---------------------+-----------------------------------------------+
| slow_query_log | ON |
| slow_query_log_file | /home/WDPM/MysqlData/mysql/DB-Server-slow.log |
+---------------------+-----------------------------------------------+
2 rows in set (0.00 sec)
被動:用戶在使用程式時候告知頁面反應慢
找到原因-對癥下藥
原因點:沒有加索引、索引失效、SQL極度復雜、高并發
1.表結構設計時沒有索引導致
2.SQL陳述句導致索引失效
索引失效7字口訣:
模:模糊查詢LIKE以%開頭
型:資料型別錯誤
數:對索引欄位使用內部函式
空:索引列是NULL
運:索引列進行四則運算
最:復合索引不按索引列最左開始查找
快:全表查找預計比索引更快
3.SQL極度復雜10張以上表聯合查詢
優化表結構和程式
4.高并發時段導致等待
在程式和資料庫之間加入快取
Hole yor life get everything if you never give up.轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/427464.html
標籤:其他
