MySql有關索引的優化

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 * ,避免返回不需要的字段。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章