索引雖然不是資料庫的專利, 但是在資料庫裡面, 索引是非常重要的, 有時我們的SQL語句執行很慢, 很大的原因就是沒有使用索引或者使用不合理,
索引的作用
我們使用資料庫的目的, 就是將大量的資料存儲進去, 然後供以後使用, 比如查詢就是一個經常需要做的操作, 那麼對於擁有很多資料的資料表, 如果沒有索引, 那麼查詢某個條件的資料就要查詢整個表, 大家想像一下, 如果讓你一條一條的從幾十萬、幾百萬裡面找到需要的資料簡單, 還是從幾十條裡面找到需要的資料簡單些, 答案可想而知, 於是索引一個普遍的作用就是減少我們執行SQL語句的時間。
索引是根據業務需求而建
一個表的索引不是憑空產生的, 也不是靠我們經驗愛怎麼建就怎麼建的, 我們應該根據業務需求去建立索引,
列資料的高選擇性
前面已經說到, 是否對某個列或欄位建索引的前提是該欄位會被使用, 但不是每個使用的欄位, 我們都要建索引, 在建索引之前, 我們還需要考慮另外一個因素, 就是該列或欄位的可能取值情況有多少, 如果取值情況很少(比如性別, 就只有男、女兩種情況),
本文簡單的描述了關於索引的知識, 知道了建索引是根據業務需求而定的, 同時也明白了, 對於低選擇性的欄位或列, 不建議對其進行建索引。