1,儘量少使用inner join查詢
2,儘量少使用臨時表
3,少用子查詢
4,通配符出現在首位,無法使用索引
5,exists替代in
索引什麼時候失效?
1.有or必全有索引;(要想使用or,又想讓索引生效,只能將or條件中的每個列都加上索引)
2.複合索引未用左列字段;
3.like以%開頭;(以%結尾可以用)
4.需要類型轉換;
5.where中索引列有運算;
6.where中索引列使用了函數;
7.如果mysql覺得全表掃描更快時(數據少);
8, where 子句裏對索引列使用不等於(<>),使用索引效果一般