SQL Server 索引結(jié)構(gòu)及其使用(一)
2012/3/27 15:48:02

原作者:freedk
一、深入淺出理解索引結(jié)構(gòu)

  實(shí)際上,您可以把索引理解為一種特殊的目錄。微軟的SQL SERVER提供了兩種索引:聚集索引(clustered index,也稱聚類索引、簇集索引)和非聚集索引(nonclustered index,也稱非聚類索引、非簇集索引)。下面,我們舉例來說明一下聚集索引和非聚集索引的區(qū)別:
  其實(shí),我們的漢語字典的正文本身就是一個(gè)聚集索引。比如,我們要查“安”字,就會(huì)很自然地翻開字典的前幾頁,因?yàn)?ldquo;安”的拼音是“an”,而按照拼音排序漢字的字典是以英文字母“a”開頭并以“z”結(jié)尾的,那么“安”字就自然地排在字典的前部。如果您翻完了所有以“a”開頭的部分仍然找不到這個(gè)字,那么就說明您的字典中沒有這個(gè)字;同樣的,如果查“張”字,那您也會(huì)將您的字典翻到最后部分,因?yàn)?ldquo;張”的拼音是“zhang”。也就是說,字典的正文部分本身就是一個(gè)目錄,您不需要再去查其他目錄來找到您需要找的內(nèi)容。我們把這種正文內(nèi)容本身就是一種按照一定規(guī)則排列的目錄稱為“聚集索引”。
  如果您認(rèn)識(shí)某個(gè)字,您可以快速地從自動(dòng)中查到這個(gè)字。但您也可能會(huì)遇到您不認(rèn)識(shí)的字,不知道它的發(fā)音,這時(shí)候,您就不能按照剛才的方法找到您要查的字,而需要去根據(jù)“偏旁部首”查到您要找的字,然后根據(jù)這個(gè)字后的頁碼直接翻到某頁來找到您要找的字。但您結(jié)合“部首目錄”和“檢字表”而查到的字的排序并不是真正的正文的排序方法,比如您查“張”字,我們可以看到在查部首之后的檢字表中“張”的頁碼是672頁,檢字表中“張”的上面是“馳”字,但頁碼卻是63頁,“張”的下面是“弩”字,頁面是390頁。很顯然,這些字并不是真正的分別位于“張”字的上下方,現(xiàn)在您看到的連續(xù)的“馳、張、弩”三字實(shí)際上就是他們?cè)诜蔷奂饕械呐判颍亲值湔闹械淖衷诜蔷奂饕械挠成洹N覀兛梢酝ㄟ^這種方式來找到您所需要的字,但它需要兩個(gè)過程,先找到目錄中的結(jié)果,然后再翻到您所需要的頁碼。我們把這種目錄純粹是目錄,正文純粹是正文的排序方式稱為“非聚集索引”。
  通過以上例子,我們可以理解到什么是“聚集索引”和“非聚集索引”。進(jìn)一步引申一下,我們可以很容易的理解:每個(gè)表只能有一個(gè)聚集索引,因?yàn)槟夸浿荒馨凑找环N方法進(jìn)行排序。

二、何時(shí)使用聚集索引或非聚集索引

下面的表總結(jié)了何時(shí)使用聚集索引或非聚集索引(很重要):    動(dòng)作描述 使用聚集索引 使用非聚集索引  列經(jīng)常被分組排序 應(yīng) 應(yīng)  返回某范圍內(nèi)的數(shù)據(jù) 應(yīng) 不應(yīng)  一個(gè)或極少不同值 不應(yīng) 不應(yīng)  小數(shù)目的不同值 應(yīng) 不應(yīng)  大數(shù)目的不同值 不應(yīng) 應(yīng)  頻繁更新的列 不應(yīng) 應(yīng)  外鍵列 應(yīng) 應(yīng)  主鍵列 應(yīng) 應(yīng)  頻繁修改索引列 不應(yīng) 應(yīng)   
  事實(shí)上,我們可以通過前面聚集索引和非聚集索引的定義的例子來理解上表。如:返回某范圍內(nèi)的數(shù)據(jù)一項(xiàng)。比如您的某個(gè)表有一個(gè)時(shí)間列,恰好您把聚合索引建立在了該列,這時(shí)您查詢2004年1月1日至2004年10月1日之間的全部數(shù)據(jù)時(shí),這個(gè)速度就將是很快的,因?yàn)槟倪@本字典正文是按日期進(jìn)行排序的,聚類索引只需要找到要檢索的所有數(shù)據(jù)中的開頭和結(jié)尾數(shù)據(jù)即可;而不像非聚集索引,必須先查到目錄中查到每一項(xiàng)數(shù)據(jù)對(duì)應(yīng)的頁碼,然后再根據(jù)頁碼查到具體內(nèi)容。

三、結(jié)合實(shí)際,談索引使用的誤區(qū)

  理論的目的是應(yīng)用。雖然我們剛才列出了何時(shí)應(yīng)使用聚集索引或非聚集索引,但在實(shí)踐中以上規(guī)則卻很容易被忽視或不能根據(jù)實(shí)際情況進(jìn)行綜合

下一頁
返回列表
返回首頁 主站蜘蛛池模板: 免费中韩高清无专码区2021| 国产精品无码无卡在线播放| 久久久久国产一区二区三区| 欧美色图综合网| 动漫精品动漫一区三区3d| 非常h很黄的变身文| 国产精品久久一区二区三区| 99爱在线视频| 影视先锋AV资源噜噜| 久久久久人妻精品一区二区三区 | 99久久综合给久久精品| 成人亚洲欧美日韩中文字幕| 久久免费精彩视频| 果冻传媒电影在线| 亚洲日韩欧美一区二区三区| 琪琪色原网站在线观看| 哦┅┅快┅┅用力啊┅┅动态图| 韩日视频在线观看| 国产狂喷潮在线观看| 7777奇米四色成人眼影| 天天色天天操综合网| 中文天堂最新版www在线观看 | 日韩不卡中文字幕| 亚洲一区在线免费观看| 欧美猛少妇色xxxxx| 人人妻人人澡人人爽曰本| 精品国产一区二区三区久久| 国产一区二区三区无码免费| 顾明月媚肉生香全文| 国产欧美日韩成人| 在线国产你懂的| 国产色视频在线| 99在线精品免费视频| 女bbbbxxxx另类亚洲| 一本一本久久aa综合精品| 成年人性生活片| 久久99国产综合色| 日本强伦姧人妻一区二区| 久久精品国产亚洲夜色AV网站| 权明星商标查询| 亚洲五月综合网色九月色|