數(shù)據(jù)庫 索引

索引按照業(yè)務(wù)邏輯分為 普通索引、唯一索引、主鍵索引和全文索引。前三種都是一類索引,只不過對數(shù)據(jù)的約束性更強。普通索引沒有約束,唯一索引要求數(shù)據(jù)唯一性,關(guān)鍵字在此之上還要求不為空(只能有一個主鍵索引,因為數(shù)據(jù)存儲文件只能按照一種順序進行存儲)。
按照物理實現(xiàn)方式 分為聚集索引和非聚集索引。
聚集索引可以按照主鍵來排序存儲數(shù)據(jù),這樣查找更有效。
而非聚集索引有單獨的存放空間,索引項按照順序存儲,但索引項指向的內(nèi)容是隨機存儲的,就是系統(tǒng)會進行兩次查找,第一次先找到索引,第二次找到索引對應(yīng)的位置取出數(shù)據(jù)行。
非聚集索引不會把索引指向的內(nèi)容像聚集索引一樣直接放到索引的后面,而是維護單獨的索引表(只維護索引,不維護索引指向的數(shù)據(jù))

  1. 聚集索引的葉子節(jié)點存儲的就是我們的數(shù)據(jù)記錄,非聚集索引的葉子結(jié)點存儲的是數(shù)據(jù)位置。非聚集索引不會影響數(shù)據(jù)表的物理存儲順序。
  2. 一個表只能有一個聚集索引,因為只能有一種排序存儲方式,但可以有多個非聚集索引,也就是多個索引目錄提供數(shù)據(jù)檢索。
  3. 使用聚集索引的時候,數(shù)據(jù)的查詢效率高,但如果對數(shù)據(jù)進行插入、刪除、更新等操作,效率會比非聚集索引低。
    對 WHERE 字句的字段建立索引,可以大幅提升查詢效率。
    采用聚集索引進行數(shù)據(jù)查詢,比使用非聚集索引的查詢效率略高,如果查詢次數(shù)較多,盡量使用主鍵索引進行數(shù)據(jù)查詢。
    按照字段個數(shù)分為 單一索引和聯(lián)合索引。
    索引列為一列時為單一索引;多個列組合在一起創(chuàng)建的索引叫做聯(lián)合索引。
    聯(lián)合索引存在最左匹配原則,就是按照最左有限的方式進行索引的匹配。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容