優化設計總結:
1、把選擇性最大的列放在聯合索引的最左邊,為了盡可能的命中索引,多命中一部分就能少全表檢索一部分。但是注意:使用聯合索引時sql語句中各個條件的位置不會影響聯合索引,需要注意的是索引中各個欄位的順序,考慮最左原則。
2、範圍查詢in不會打斷索引,包括order by也要看做聯合索引中的乙個字段,不要忘記。
樣例語句:證明like前後模糊會打斷索引,所以建立聯合索引的時候alarmtime;personname而不是personname;alarmtime
select guid from alarm_info_face_300 where person_name like '%張%' order by alarm_time desc limit 199980,20
mysql學習筆記 覆蓋索引
覆蓋索引 乙個索引如果包含了所有查詢字段,就稱為覆蓋索引.優點1.因為只需要查詢索引,不需要回表,可以極大的提高效能 2.索引是順序排列的,對於密集型 i o 查詢範圍會小得多。3.innodb引擎用的是聚簇索引,對於覆蓋索引對於innodb特別有用。缺點 1.不是所有索引都可以成為覆蓋索引,例如空...
MySQL覆蓋索引呼叫 MySQL 覆蓋索引
什麼是覆蓋索引 建立乙個索引,該索引包含查詢中用到的所有字段,稱為 覆蓋索引 使用覆蓋索引,mysql 只需要通過索引就可以查詢和返回查詢所需要的資料,而不必在使用索引處理資料之後再進行回表操作。覆蓋索引可以一次性完成查詢工作,有效減少io,提高查詢效率。使用示例 查詢語句 select col2,...
MySQL 索引 覆蓋索引
1.什麼是覆蓋索引?概念 查詢語句中所需要的列在索引中,這樣查詢結果在索引的資料結構中查詢即可拿到結果。附加解釋 2.形成覆蓋索引的條件索引分為多種型別,從資料結構上分為 二叉樹 紅黑樹 hash索引 b tree索引,b tree mysql使用的儲存結構 索引的實現可以使用多種資料結構,這裡使用...