1.在where及order by之後創建索引。
2.避免使用!=和<>,會導致索引無效。
3.有關null值問題
例如:select * from user where sex is null,避免使用
應給sex設置一個默認的值0。
4.避免使用or查詢,否則會放棄索引。可以使用union all替代or。
5.like查詢,like '%%'前面有%會導致權標掃描。
6.使用between and代理in,in會導致全表掃描。
7.在where子句中使用參數,會導致全表掃描。
8.在where子句中對字段進行表達式操作,導致全表掃描。
9.在where子句中對字段進行函數式操作,導致全表掃描。
10.where語句“=”左邊避免使用運算,會導致全表掃描。
11.複合索引,必須使用第一個字段作爲where的條件。
12.不寫沒有意義的查詢。
13.儘量使用exists代替in。
14.列中的重複數據較多的不適合建索引。
15.索引會提高select的效率,但相應會降低insert和update的效率。
16.MySql對於數字的索引會快於字符串的索引。
17.使用varchar代替nchar,會提升索引效率。
18.避免使用select * ,避免返回不需要的字段。