索引是什麼?

2021-04-13 03:21:55 字數 1403 閱讀 4031

資料庫引入了索引

使用者對資料庫最頻繁的操作是進行資料查詢。一般情況下,資料庫在進行查詢操作時需要對整個表進行資料搜尋。當表中的資料很多時,搜尋資料就需要很長的時間,這就造成了伺服器的資源浪費。為了提高檢索資料的能力,資料庫引入了索引機制。

有關「索引」的比喻

從某種程度上,可以把資料庫看作一本書,把索引看作書的目錄,通過目錄查詢書中的資訊,顯然較沒有目錄的書方便、快捷。

資料庫索引實際是什麼?(兩部分組成)

索引是乙個單獨的、物理的資料庫結構,它是某個表中一列或若干列值的集合和相應的指向表中物理標識這些值的資料頁的邏輯指標

清單

索引在表中的角色

乙個表的儲存是由兩部分組成的,一部分用來存放表的資料頁面,另一部分存放索引頁面。索引就存放在索引頁面上,

索引高效原理

通常,索引頁面相對於資料頁面來說小得多。當進行資料檢索時,系統先搜尋索引頁面,從中找到所需資料的指標,再直接通過指標從資料頁面中讀取資料。

索引的分類

在sql server 的資料庫中按儲存結構的不同將索引分為兩類:簇索引(clustered index)和非簇索引(nonclustered index)。

簇索引對錶的物理資料頁中的資料按列進行排序,然後再重新儲存到磁碟上,即簇索引與資料是混為一體,的它的葉節點中儲存的是實際的資料。由於簇索引對錶中的資料一一進行了排序,因此用簇索引查詢資料很快。但由於簇索引將表的所有資料完全重新排列了,它所需要的空間也就特別大,大概相當於表中資料所佔空間的120% 。表的資料行只能以一種排序方式儲存在磁碟上,所以乙個表只能有乙個簇索引。

非簇索引具有與表的資料完全分離的結構,使用非簇索引不用將物理資料頁中的資料按列排序。非簇索引的葉節點中儲存了組成非簇索引的關鍵字的值行定位器。行定位器的結構和儲存內容取決於資料的儲存方式。如果資料是以簇索引方式儲存的,則行定位器中儲存的是簇索引的索引鍵;如果資料不是以簇索引方式儲存的,這種方式又稱為堆儲存方式(heap structure),則行定位器儲存的是指向資料行的指標。非簇索引將行定位器按關鍵字的值用一定的方式排序,這個順序與表的行在資料頁中的排序是不匹配的。由於非簇索引使用索引頁儲存因此它比簇索引需要更多的儲存空間且檢索效率較低但乙個表只能建乙個簇索引,當使用者需要建立多個索引時就需要使用非簇索引了。

小結:clustered index 是與物理資料混在一起並對物理資料進重排,就像使用拼音查字典;unclustered index 是與物理資料完全分離的,利用額外空間對關鍵字進行重排,就像使用部首查字典。  

索引是什麼

mysql索引結構 哪些情況需要建立索引 哪些情況不需要建立索引 可以簡單理解為 排好序的快速查詢資料結構 一般來說,索引本身也很大,不可能全部儲存在記憶體中,因此索引往往以索引檔案的形式儲存在磁碟上。建立 create unique index indexname on mytable colum...

索引是什麼?

維基百科對資料庫索引的定義 資料庫索引,是資料庫管理系統 dbms 中乙個排序的資料結構,以協助快速查詢 更新資料庫表中資料。怎麼理解這個定義呢?首先資料是以檔案的形式存放在磁碟上面的,每一行資料都有它的磁碟位址。如果沒有索引的話,要從500 萬行資料裡面檢索一條資料,只能依次遍歷這張表的全部資料,...

倒排索引是什麼

倒排索引 英語 inverted index 也常被稱為反向索引 置入檔案或反向檔案,是一種索引方法,被用來儲存在全文搜尋下某個單詞在乙個文件或者一組文件中的儲存位置的對映。它是文件檢索系統中最常用的資料結構。正排索引 正排索引是以文件的id為關鍵字,索引記錄文件中每個字的位置資訊,查詢時索引中每個...