Mysql創建索引的原則,索引失效的情況,sql調優

Mysql創建索引的原則

1.選擇唯一索引。通過唯一索引可以快速的定位某一條數據。
2.爲經常作爲查詢語句中的字段建立索引。
3.爲經常需要進行排序、分組、聯合操作的字段建立索引。
4.不要對需要經常進行增刪改的字段建立索引
5.選擇區分度大的字段建立索引
6.選擇數據量小的字段建立索引
7.最左前綴原則單個索引查詢的數據很多,區分度不是很大時,考慮建立組合索引提高查詢效率
8.儘量擴展索引,而不是新建索引


索引失效的情況

1.or導致索引失效
2.<>,not,in,not exist
3.沒有使用組合索引中的第一個索引(最左前綴原則)
4.組合索引前導列區分度大,且查後導列的時候,前導列的分裂非常耗資源
5.如果索引列爲字符串,一定要用引號,否則不使用索引
6.對索引列進行了運算(+,-,*,/,使用函數等)
7.隱式轉換(數據類型轉換)
8.like查詢"%_",百分號在前面
9.全表掃描比使用索引快時
10.使用concat或||連接查詢條件字段
11.指定不使用索引


sql調優

1.使用索引,儘量避免索引失效的情況
2.減少表連接數,連接的表越多,性能越差。將連接拆分成若干個過程逐一執行,先執行可顯著減少數據量的連接
3.小表驅動大表
4.如果不可避免,可考慮使用臨時表或表變量存放中間結果
5.更新update時不要更新所有字段
6.萬變不離其宗:減少IO次數
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章