本文主要介紹sql非聚集索引(sql數(shù)據(jù)庫中聚集索引和非聚集索引有什么區(qū)別?),下面一起看看sql非聚集索引(sql數(shù)據(jù)庫中聚集索引和非聚集索引有什么區(qū)別?)相關(guān)資訊。
我們知道,sql server中數(shù)據(jù)行的存儲有兩種數(shù)據(jù)結(jié)構(gòu):一種是將一堆b b tree(二叉樹)數(shù)據(jù)按照兩種類型中的一種進(jìn)行排序存儲。學(xué)過數(shù)據(jù)結(jié)構(gòu)的朋友應(yīng)該知道二叉樹和為什么,因?yàn)橛脙牲c(diǎn)查找法很容易快速。查找數(shù)據(jù)。如果數(shù)據(jù)沒有按堆排序,那么在任何順序,沒有任何數(shù)據(jù)結(jié)構(gòu)的情況下,頁面都不是端到端的,這與b樹數(shù)據(jù)頁面不同。使用雙向連接的端到端。堆表只通過表單的iam頁(索引分布映射頁)連接堆的頁,頁號和頁位置記錄在iam中。除非表中有聚集索引,否則表單中的數(shù)據(jù)存儲在堆結(jié)構(gòu)中。那么非聚集索引也是堆結(jié)構(gòu)嗎?事實(shí)上,sqlserver有幾種頁面類型(數(shù)據(jù)是逐頁存儲的,就像windows的內(nèi)存也是由頁面組成的)。其中一個(gè)是索引頁,另一個(gè)是數(shù)據(jù)頁。我覺得很多書都不清楚。就像我一樣,文章是這樣開始的:數(shù)據(jù)行存儲兩種數(shù)據(jù)結(jié)構(gòu):a: heap b: b-tree(二叉樹)。我認(rèn)為存儲數(shù)據(jù)頁的數(shù)據(jù)結(jié)構(gòu)有兩種:1、堆2和b樹。讓 讓我們從它開始:索引頁,不管是聚集的還是非聚集的,都存儲在索引頁中,索引頁存儲在b樹的結(jié)構(gòu)中。堆:這是實(shí)際的數(shù)據(jù)行。如果表中沒有索引,實(shí)際數(shù)據(jù)將放在堆棧頁上。如果索引是聚集的,數(shù)據(jù)將放在索引頁上。b樹中的節(jié)點(diǎn)實(shí)際上稱為頁面,它們也稱為b樹中的節(jié)點(diǎn)。將有一個(gè)頁面:根頁面(即根節(jié)點(diǎn)),非聚集索引和聚集索引是相同的。所以存儲數(shù)據(jù)行有兩種數(shù)據(jù)結(jié)構(gòu):a:堆b: b樹(二叉樹)。據(jù)說堆中的數(shù)據(jù)頁是完全隨機(jī)存儲的,數(shù)據(jù)頁之間唯一的邏輯連接記錄在iam頁中,所以iam頁也充當(dāng)根頁。那么聚集索引也是堆結(jié)構(gòu)嗎?非聚集索引放在索引頁和b樹結(jié)構(gòu)上,數(shù)據(jù)仍然放在堆頁上。如果數(shù)據(jù)頁放在堆中,它不像聚集索引放在b葉節(jié)點(diǎn)中。(即在索引頁上),非聚集索引如何與實(shí)際數(shù)據(jù)相關(guān)聯(lián)?答案是:非聚集索引的葉節(jié)點(diǎn)(葉頁)會有一個(gè)行定位器,下面的紅字里會有一個(gè)行定位器的作用。非聚集索引和聚集索引具有相同的b樹結(jié)構(gòu),兩者的顯著區(qū)別如下:(1)基表的數(shù)據(jù)行沒有按照非聚集鍵的順序進(jìn)行排序和存儲。(2)非聚集索引的葉層由索引頁而不是數(shù)據(jù)頁組成。(3)具有非聚集索引的表可以是b樹或堆。(4)如果表是堆(意味著表沒有聚集索引),行定位器指向指向該行的指針。指針由文件標(biāo)識符組成id生成:頁面上的行數(shù):頁面上的行數(shù)。該指針稱為行id(已移除)。(5)如果有聚集索引或索引視圖,行定位器將指向聚集索引的葉key.sql。使用存儲在非聚集索引中的指針(指向聚集索引鍵)搜索實(shí)際數(shù)據(jù)不會更改或改善實(shí)際數(shù)據(jù)頁的存儲模式。但是,具有聚集索引的非聚集索引是相同且等效的索引。最后總結(jié)一下,這么一篇短文的總結(jié)是什么?當(dāng)然,這是對表格結(jié)構(gòu)的總結(jié),因?yàn)樵?jīng)有人在論壇里問到一個(gè)表格的結(jié)構(gòu)。a有一個(gè)聚集索引或一個(gè)聚集索引,而它的索引是非聚集索引(b樹)。b無索引(堆)c無聚集索引,論壇有非聚集索引(b樹堆)。a簡稱為聚合表,b和c是堆表。記得以前大學(xué)的一些數(shù)據(jù)結(jié)構(gòu)。老師講了數(shù)據(jù)結(jié)構(gòu):根堆,根堆,雙向鏈表,二叉樹。但現(xiàn)在一切都回到了老師身上。具有圖片堆表的結(jié)構(gòu)非聚集索引結(jié)構(gòu)聚集索引結(jié)構(gòu)
了解更多sql非聚集索引(sql數(shù)據(jù)庫中聚集索引和非聚集索引有什么區(qū)別?)相關(guān)內(nèi)容請關(guān)注本站點(diǎn)。