沒有幫資料表加上索引也是常見的效能殺手,作為搜尋條件的資料欄位如果沒有加索引,SQL 查詢的時候就會一筆筆檢查資料表中的所有資料,當資料一多的時候相差的效能就十分巨大。一般來說,以下的欄位都必須記得加上索引:
外部鍵 (Foreign key) 會被排序的欄位 (被放在 order 方法中) 會被查詢的欄位 (被放在 where 方法中) 會被 group 的欄位 (被放在 group 方法中)
按照上面的说法,不就一个表里可能就有很多索引了?索引多了会不好吗? 例如
XX_id
created_at #根据created_at排序
name #会查询name
group #还有关于group的
我看了实战圣经中是这样的描述的,请问大家都是什么时候加索引,又是怎么加的呢?