數據庫爲何須要索引

  若是咱們把數據庫與書本的結構對應起來,書的每一頁就至關於數據庫的每一條記錄,而翻書每一頁的過程就至關於數據庫的掃描,若是你很不幸的把書從第一頁翻到了最後一頁,那恭喜你,你完成了一個專業的數據庫操做:全表掃描。數據庫

  咱們來想像一種場景,若是你有一本書,一共有1000頁,你想去看499頁的內容,你會怎麼去找呢?索引

  聰明的你必定是不會從第一頁一直翻到499頁而後再仔細閱讀,而是從大概中間的位置翻開,好比你翻到了508頁,而後再向前翻到499頁。但問題來了,你若是很不幸的不知道你想找的內容在哪一頁,那你該怎麼作呢?   我相信你最大可能的方法是,從第一頁開始看哪一頁有你想要的內容,一直到最後一頁(表掃描)。當你翻到最後一頁的時候,你就完成了一次書的閱讀(全表掃描)。   你的這種方式對應的數據庫操做就是進行數據庫的全表掃描,找到知足條件的記錄,而後返回。   若是每一次你想找內容都要把書翻一遍,我相信你必定會崩潰的,那這個時間咱們會選擇翻看書的目錄(索引),若是找到了咱們想要的內容,知道了它在哪一頁,咱們就能夠直接翻到指定的頁碼去看相關內容了。   對應的數據庫操做就是,先從加入的索引當中找到主鍵索引(頁碼),而後經過主鍵索引去尋找真正的內容。效率

  總結一下 : 數據庫中加入索引的緣由是,當數據庫記錄過多的時候,加入索引能夠先找到至關數據的位置,而後經過位置信息去定點尋找相關記錄,從而提升查詢效率。方法

相關文章
相關標籤/搜索