聚集索引與非聚集索引的區(qū)別
發(fā)表時間:2023-09-14 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]聚集索引與非聚集索引的區(qū)別聚集索引,是一種指明表數(shù)據(jù)物理存儲順序的索引.在聚集索引中,行的物理存儲順序與索引順序完全相同,即索引的順序決定了表中行的存儲順序.表數(shù)據(jù)按照指定作為聚集索引的一個或多個鍵列排序并存儲.聚集索引類似于一本字典,字典按照字母順序存儲信息,并提供引導(dǎo)字幫助用戶快速定位信息的位...
聚集索引與非聚集索引的區(qū)別
聚集索引,是一種指明表數(shù)據(jù)物理存儲順序的索引.在聚集索引中,行的物理存儲順序與索引順序完全相同,即索引的順序決定了表中行的存儲順序.表數(shù)據(jù)按照指定作為聚集索引的一個或多個鍵列排序并存儲.聚集索引類似于一本字典,字典按照字母順序存儲信息,并提供引導(dǎo)字幫助用戶快速定位信息的位置,在同一頁上找到數(shù)據(jù)和它的引導(dǎo)字.相似的,聚集索引含有索引頁和實際數(shù)據(jù)頁,數(shù)據(jù)頁組成聚集索引的最底層(葉子節(jié)點).根節(jié)點中的每行將分別指向分支節(jié)點,分支節(jié)點的行又將指向其他的分支節(jié)點,最后一組分支節(jié)點將最終指向葉子節(jié)點.當你到達索引的最底層(即葉子節(jié)點)時,也就已經(jīng)到達實際數(shù)據(jù)頁了.因為數(shù)據(jù)按照一個指定的順序物理地存儲,所以你只能為每個表創(chuàng)建一個聚集索引.
非聚集索引與聚集索引不同,它并不在物理上排列數(shù)據(jù),即索引中的邏輯順序并不等同于表中行的物理順序.索引僅僅記錄指向表中行的位置的指針,這些指針本身是有序的,通過這些指針可以在表中快速地定位數(shù)據(jù).在它的葉子節(jié)點中不含有實際表數(shù)據(jù),取而代之的是,索引本身完全與數(shù)據(jù)分離,就像一本在書的后面帶有索引的書(索引只是指明到哪一頁,而數(shù)據(jù)并不與索引本身在一起).非聚集索引的葉子節(jié)點含有索引行,用于存儲決定行確定位置的索引數(shù)據(jù)和信息.位置信息可以是兩種類型之一,取決于表上是否存在聚集索引.如果有聚集索引,那么對于每行,聚集索引的鍵值存儲在非聚集索引的葉子節(jié)點之中,作為該行的定位器.這個值可以被直接用來定位數(shù)據(jù),它位于聚集索引的葉子節(jié)點之中.如果聚集索引不是一個惟一索引, SQL Server就自動地為所有相同的索引鍵值分配一個內(nèi)部值,讓它們惟一地以非聚集索引方式使用.這個內(nèi)部值對于用戶來說是不可見的.如果表上沒有聚集索引,那么每個葉子節(jié)點含有一個行ID作為行的定位器,而不是聚集索引的一個鍵值.行ID是一個指針,由文件ID,頁數(shù)目和頁中的行數(shù)目組成.這個指針能夠精確地指示在哪里可以找到行,所以一旦到達行ID,只需要再進行一次I/O便可以讀取數(shù)據(jù)行.
常見的網(wǎng)絡(luò)操作系統(tǒng)有UNIX、Netware、Windows NT、Linux等,網(wǎng)絡(luò)軟件的漏洞及缺陷被利用,使網(wǎng)絡(luò)遭到入侵和破壞。