Mysql查詢優化-Mysql索引

1.使用聯合索引,而不是單個索引,當在where條件裏a和b字段更多時候是聯合出現時,就有必要這樣做,如idx_a_b(a,b),而不是idx_a(a),idx_b(b)。sql中的order by、group by、min、max的排序相關以及distinct也會因爲有索引的存在而有性能上的提升(所以經常被order by、group by、min、max的字段當然也要考慮加索引)。
2.聯合索引中,索引字段的順序根據字段的區分度排,區分度大的放在前面,如idx_smp(name,gender)
3.合理創建聯合索引,例如,用idx_a_b_c(a,b,c)來覆蓋idx_a_b(a,b),idx_(b),但是不能覆蓋idx_c(c)
4.where字段時,儘量不要在字段上直接加函數,這樣是不會走索引的,會減慢執行速度。
ps:可以適當的做數據冗餘,來儘量避免做表連接查詢。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章