mysql 數據庫我如何優化慢的SQL語句mysql
1.根據慢日誌定位到慢sql語句,使用 show variables like ‘%quer%’ 查看與查詢相關的變量,在慢sql查詢中咱們主要關注一下三個。sql
開啓 slow_query_log set global slow_query_log = on數據庫
設置 long_query_time 時間 set global long_query_time = 1工具
找到 slow_query_log_file 指定的文件位置優化
2. 使用 explain 工具分析SQL語句日誌
3.修改SQL或者儘可能讓SQL走索引索引
增長索引 alter table <代表> and index 索引名(字段名)table
在語句後面增長 force idnex(索引)表示使用強制索引變量
番外篇:符合索引的 最左匹配原則file
1.最左前綴匹配原則,很是重要的原則,mysql會一直想右匹配直到遇到範圍查詢(>,<,between,like)就中止匹配。好比 a=3 and b=4 and c > 5 and d=5 若是創建(a,b,c,d)順序的索引,d是用不到索引的,若是創建(a,b,d,c)的索引則均可以則均可以用獲得。而且a,b,d 的順序能夠任意調整。
2.= 和 in 能夠亂序,例如 a=1 and b =2 and c= 3 創建 (a,b,c)索引能夠任意順序,mysql的查詢優化器會幫你優化成索引能夠識別的形式