mysql創(chuàng)建數(shù)據(jù)庫 MySQL何時使用索引與不使用索引?
MySQL何時使用索引與不使用索引?所有原則都建立在最左匹配原則上,如果多個字段同時匹配,則最左匹配1、假如表的主鍵在id1上(有先后順序),如果使用id1查詢則使用索引,如果使用id2則不使用索引2
MySQL何時使用索引與不使用索引?
所有原則都建立在最左匹配原則上,如果多個字段同時匹配,則最左匹配1、假如表的主鍵在id1上(有先后順序),如果使用id1查詢則使用索引,如果使用id2則不使用索引2、order by 不使用索引3、group by 使用索引時,字段在第一個字段時 ,使用索引,字段在第二個字段時,不使用索引4、in查詢操作,查詢字段在第一個字段時 ,使用索引,查詢字段在第二個字段時,不使用索引(not in在表中的查詢數(shù)量大于30%的時候是全表掃描的,用不到索引。所以沒有可以優(yōu)化的。) 5、like 查詢操作,如果第一個字符不是正則符號,則查詢字段在第一個字段時 ,使用索引,查詢字段在第二個字段時,不使用索引如果第一個字符是正則符號,則都不使用索引6、如果沒有搜索條件、沒有排序條件、沒有group by條件時,就不使用索引7、union 查詢操作,哪個字段是第一個索引字段,就在那個查詢子句上使用索引
MySQL的索引是什么?怎么優(yōu)化?
MySQL索引的建立對于MySQL的高效運行是很重要的,索引可以大大提高MySQL的檢索速度。
打個比方:
如果合理的設計且使用索引的MySQL是一輛蘭博基尼的話,那么沒有設計和使用索引的 MySQL就是一個人力三輪車。
索引分單列索引和組合索引。
單列索引,即一個索引只包含單個列,一個表可以有多個單列索引,但這不 是組合索引。
- 組合索引,即一個索引包含多個列。