數據庫的操做,選擇,修改,刪除。對於數據量大或者有性能要求時,都須要優化咱們的操做,其中一個操做就是創建索引,在數據庫表的某列或者某幾列上面創建索引。數據庫
例如 表information:數據結構
name age sex address ……性能
查詢某個姓名爲「Nommy」的信息,若是該表有幾千行,則需每行遍歷查找數據,直至最後一行,效率不高,沒有目的,甚至姓名不是主鍵可能存在多行姓名爲Nommy狀況,那麼必需要遍歷每一行完成爲止。,,即全表掃描優化
引用過來數據結構中的B樹,索引的列元素按照有序排列,很是方便查找某一條件,好比age索引,age<40,對吧,指針
這種索引的查找相等效率超級高,好比按照名字索引,按照名字查找某一我的的信息。,可是條件查詢的話也就不方便了。orm
適合包含布爾值得列上,索引
數據庫中,數據庫已會自動建立索引提高性能。但也能夠本身建立,可本身選擇方式,那些列等。io
CREATE INDEX name_index form
ON information(name)效率
表中定義主鍵約束或者惟一約束等,自動建立索引
索引存儲列值數據結構,使得查找更快。同時對於該項數據其餘列的元素,經過指針指向。速度快,也能夠訪問該元組其餘元素的值,非常方便
索引也是要佔空間的,僅當須要的適合,創建合適的索引,纔是最重要的