成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

SQL聚簇索引與非聚簇索引的本質區(qū)別

數(shù)據(jù)庫 SQL Server
下文就SQL聚簇索引與非聚簇索引的本質區(qū)別進行了分析討論,供您參考,如果您對此方面有興趣的話,不妨一看。

SQL聚簇索引的順序就是數(shù)據(jù)的物理存儲順序,那么,SQL聚簇索引與非聚簇索引的本質區(qū)別,究竟在哪里呢?

現(xiàn)在討論SQL聚簇索引與非聚簇索引的本質區(qū)別。正如本文最前面的兩個圖所示,聚簇索引的葉節(jié)點就是數(shù)據(jù)節(jié)點,而非聚簇索引的頁節(jié)點仍然是索引檢點,并保留一個鏈接指向對應數(shù)據(jù)塊。

還是通過一道數(shù)學題來看看它們的區(qū)別吧:假設有一8000條記錄的表,表中每條記錄在磁盤上占用1000字節(jié),如果在一個10字節(jié)長的字段上建立非聚簇索引主鍵,需要二叉樹節(jié)點16000個(這16000個節(jié)點中有8000個葉節(jié)點,每個頁節(jié)點都指向一個數(shù)據(jù)記錄),這樣數(shù)據(jù)將占用8000條×1000字節(jié)/8K字節(jié)=1000個頁面;索引將占用16000個節(jié)點×10字節(jié)/8K字節(jié)=20個頁面,共計1020個頁面。

同樣一張表,如果我們在對應字段上建立SQL聚簇索引主鍵,由于SQL聚簇索引的頁節(jié)點就是數(shù)據(jù)節(jié)點,所以索引節(jié)點僅有8000個,占用10個頁面,數(shù)據(jù)仍然占有1000個頁面。

下面我們看看在執(zhí)行插入操作時,非聚簇索引的主鍵為什么比聚簇索引主鍵要快。主鍵約束要求主鍵不能出現(xiàn)重復,那么SQL Server是怎么知道不出現(xiàn)重復的呢?唯一的方法就是檢索。對于非聚簇索引,只需要檢索20個頁面中的16000個節(jié)點就知道是否有重復,因為所有主鍵鍵值在這16000個索引節(jié)點中都包含了。但對于聚簇索引,索引節(jié)點僅僅包含了8000個中間節(jié)點,至于會不會出現(xiàn)重復必須檢索另外1000個頁數(shù)據(jù)節(jié)點才知道,那么相當于檢索10+1000=1010個頁面才知道是否有重復。所以聚簇索引主鍵的插入速度要比非聚簇索引主鍵的插入速度慢很多。

讓我們再來看看數(shù)據(jù)檢索的效率,如果對上述兩表進行檢索,在使用索引的情況下(有些時候SQL Server執(zhí)行計劃會選擇不使用索引,不過我們這里姑且假設一定使用索引),對于SQL聚簇索引檢索,我們可能會訪問10個索引頁面外加1000個數(shù)據(jù)頁面得到結果(實際情況要比這個好),而對于非聚簇索引,系統(tǒng)會從20個頁面中找到符合條件的節(jié)點,再映射到1000個數(shù)據(jù)頁面上(這也是最糟糕的情況),比較一下,一個訪問了1010個頁面而另一個訪問了1020個頁面,可見檢索效率差異并不是很大。所以不管非聚簇索引也好還是聚簇索引也好,都適合排序,聚簇索引僅僅比非聚簇索引快一點。

 

 

【編輯推薦】

SQL注入語句五例

SQL SERVER事務的語法介紹

Sql Server視圖的概念

使用SQL查詢連續(xù)號碼段的方法

SQL查詢***最小值的示例

責任編輯:段燃 來源: 互聯(lián)網(wǎng)
相關推薦

2010-07-14 15:04:53

SQL Sever索引

2023-06-12 08:38:23

聚簇索引排序非聚簇索引

2025-04-28 07:10:46

聚簇非聚簇索引

2025-05-06 08:55:00

2025-02-28 10:31:50

2024-05-24 09:28:22

2022-06-13 07:36:06

MySQLInnoDB索引

2023-04-17 10:47:49

MySQL聚簇索引

2010-04-21 13:43:31

Oracle聚簇索引

2010-04-12 16:50:47

Oracle索引聚簇表

2010-04-12 17:00:37

Oracle索引聚簇表

2010-05-31 13:57:49

2023-06-05 08:07:34

聚集索引存儲數(shù)據(jù)

2010-04-01 17:14:04

Oracle索引

2022-03-25 10:38:40

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

2024-03-25 13:02:00

MySQL索引主鍵

2020-02-14 18:10:40

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

2023-05-23 22:19:04

索引MySQL優(yōu)化

2011-05-25 13:10:40

SQL ServerOracle

2023-04-26 07:40:34

MySQL索引類型存儲
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日日天天 | 中文字幕在线观 | 中文字幕亚洲一区二区三区 | 亚洲欧美一区二区在线观看 | 欧美成人第一页 | 狠狠躁天天躁夜夜躁婷婷老牛影视 | 日韩黄 | 不卡一区二区三区四区 | 免费日韩av | 亚洲精品免费在线 | 久久的色 | 国产精品一区免费 | 成人免费视频网站在线看 | 武道仙尊动漫在线观看 | 一区二区三区中文字幕 | 成人高清在线视频 | 免费观看毛片 | 黄色成人在线 | 毛片a级| 久久久精品国产 | 四虎影院免费在线播放 | 日韩一区二区在线视频 | 亚洲a视频 | 国产视频久久 | 91在线视频免费观看 | 97精品视频在线 | 国产一区在线免费 | 久久久久久久久久久久一区二区 | 欧美三级网站 | 亚洲一区 中文字幕 | 龙珠z在线观看 | 91在线视频一区 | 久久久99国产精品免费 | 成人一区二区三区在线 | 日本久久网站 | 欧美日韩中文字幕在线播放 | 日韩高清一区 | 日本久久一区二区三区 | 国产精品福利在线 | 亚洲午夜精品 | 午夜精品在线观看 |