SQLSERVER的非聚集索引結(jié)構(gòu)深度理解建站知識(shí)
導(dǎo)讀:1建站知識(shí)非聚集索引也是堆結(jié)構(gòu)?其實(shí)SQLSERVER有幾種頁(yè)面類型(數(shù)據(jù)都使用一頁(yè)一頁(yè)來(lái)存儲(chǔ),就像Windows的內(nèi)存也是使用頁(yè)面來(lái)公司網(wǎng)站建設(shè)建設(shè)網(wǎng)站。
我們知道SQLSERVER的數(shù)據(jù)行的存儲(chǔ)有兩種數(shù)據(jù)結(jié)構(gòu):A: 堆 B :B樹(shù)(binary 二叉樹(shù))
數(shù)據(jù)按照這種兩種的其中一種來(lái)排序和存儲(chǔ),學(xué)過(guò)數(shù)據(jù)結(jié)構(gòu)的朋友應(yīng)該知道二叉樹(shù),為什麼用二叉樹(shù),因?yàn)榉奖阌枚植檎曳▉?lái)快速
找到數(shù)據(jù)。如果是堆,那么數(shù)據(jù)是不按照任何順序排序的,也沒(méi)有任何結(jié)構(gòu),數(shù)據(jù)頁(yè)面也不是首尾相連的,不像B樹(shù),數(shù)據(jù)頁(yè)面
使用雙向鏈表首尾相連。堆表只依靠表里的IAM頁(yè)(索引分配映射頁(yè))將堆的頁(yè)面聯(lián)系在一起,IAM里記錄了頁(yè)面編號(hào),頁(yè)面位置
除非表里有聚集索引,如果沒(méi)有的話那么表里的數(shù)據(jù)的存儲(chǔ)就是堆結(jié)構(gòu)
那么非聚集索引呢?非聚集索引也是堆結(jié)構(gòu)?其實(shí)SQLSERVER有幾種頁(yè)面類型(數(shù)據(jù)都使用一頁(yè)一頁(yè)來(lái)存儲(chǔ),就像Windows的內(nèi)存也是使用頁(yè)面來(lái)組織的)
其中有一種是索引頁(yè) ,一種是數(shù)據(jù)頁(yè)
我感覺(jué)很多書(shū)都說(shuō)不清,就像我一樣,在文章的開(kāi)頭也是這樣說(shuō)的:數(shù)據(jù)行的存儲(chǔ)有兩種數(shù)據(jù)結(jié)構(gòu):A: 堆 B :B樹(shù)(二叉樹(shù))
我覺(jué)得應(yīng)該是數(shù)據(jù)頁(yè)面的存儲(chǔ)有兩種數(shù)據(jù)結(jié)構(gòu):1、堆 2、B樹(shù)
先說(shuō)一下:索引頁(yè),不管是聚集索引還是非聚集索引,這些索引數(shù)據(jù)都存放在索引頁(yè),而索引頁(yè)都是按照B樹(shù)的結(jié)構(gòu)里存儲(chǔ)的
而堆頁(yè):也就是實(shí)際的數(shù)據(jù)行,如果表里沒(méi)有聚集索引,那么實(shí)際的數(shù)據(jù)就放在堆頁(yè),如果聚集索引,那么數(shù)據(jù)就放在索引頁(yè)
而B(niǎo)樹(shù)里的節(jié)點(diǎn) ,其實(shí)又叫頁(yè)面,又叫節(jié)點(diǎn) 在B樹(shù)里會(huì)有一頁(yè):root page(亦即是根節(jié)點(diǎn)),非聚集索引和聚集索引都是一樣的
所以:數(shù)據(jù)行的存儲(chǔ)有兩種數(shù)據(jù)結(jié)構(gòu):A: 堆 B :B樹(shù)(二叉樹(shù))
上面這句話應(yīng)該明白了吧?
在說(shuō)一下,在堆里的數(shù)據(jù)頁(yè)面完全是隨機(jī)存放的,而數(shù)據(jù)頁(yè)面之間唯一的邏輯連接是記錄在IAM頁(yè)里的,所以IAM頁(yè)也就扮演了root page的角色
那么聚集索引呢?聚集seo網(wǎng)站排名優(yōu)化軟件索引也是堆結(jié)構(gòu)?
非聚集索引放在索引頁(yè),B樹(shù)結(jié)構(gòu),數(shù)據(jù)依舊放在堆頁(yè),那么如果數(shù)據(jù)頁(yè)放在堆里,不像聚集索引放在B樹(shù)的葉子節(jié)點(diǎn)里
(亦即是放在索引頁(yè)里)建設(shè)網(wǎng)站,那么非聚集索引和實(shí)際的數(shù)據(jù)如何發(fā)生聯(lián)系呢?
答案是:在非聚集索引的葉子節(jié)點(diǎn)(葉子頁(yè)面)會(huì)有行定位器,而行定位器的作用請(qǐng)看下面紅色字
非聚集索引與聚集索引具有相同的B樹(shù)結(jié)構(gòu),他們之間的顯著差別在于以下兩點(diǎn):
(1)基礎(chǔ)表的數(shù)據(jù)行不按非聚集鍵的順序排序和存儲(chǔ)
聲明: 本文由我的SEOUC技術(shù)文章主頁(yè)發(fā)布于:2023-05-23 ,文章SQLSERVER的非聚集索引結(jié)構(gòu)深度理解建站知識(shí)主要講述深度,索引,SQL網(wǎng)站建設(shè)源碼以及服務(wù)器配置搭建相關(guān)技術(shù)文章。轉(zhuǎn)載請(qǐng)保留鏈接: http://www.bifwcx.com/article/web_6059.html
為你推薦與SQLSERVER的非聚集索引結(jié)構(gòu)深度理解建站知識(shí)相關(guān)的文章
-
通王TWCMS 2.0.3網(wǎng)站模板程序下載
(126)人喜歡 2024-01-15 -
Windows官方原版在哪里下載
(175)人喜歡 2024-01-15 -
WordPress網(wǎng)站模板發(fā)帖標(biāo)題顏色設(shè)置
(131)人喜歡 2024-01-07 -
修改discuz論壇帖子標(biāo)題80字符的長(zhǎng)度限制
(249)人喜歡 2024-01-07 -
wordpress程序調(diào)用不帶超鏈接的Tag標(biāo)簽
(234)人喜歡 2024-01-05 -
網(wǎng)站在不同時(shí)期需調(diào)整內(nèi)容更新的方向
(112)人喜歡 2023-08-12