欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SQL Server 索引結(jié)構(gòu)及其使用(一)--深入淺出理解索引結(jié)構(gòu)第1/4頁

 更新時(shí)間:2009年04月09日 00:35:22   作者:  
深入淺出理解索引結(jié)構(gòu)
一、深入淺出理解索引結(jié)構(gòu)

  實(shí)際上,您可以把索引理解為一種特殊的目錄。微軟的SQL SERVER提供了兩種索引:聚集索引(clustered index,也稱聚類索引、簇集索引)和非聚集索引(nonclustered index,也稱非聚類索引、非簇集索引)。

下面,我們舉例來說明一下聚集索引和非聚集索引的區(qū)別:

  其實(shí),我們的漢語字典的正文本身就是一個(gè)聚集索引。比如,我們要查“安”字,就會很自然地翻開字典的前幾頁,因?yàn)椤鞍病钡钠匆羰恰癮n”,而按照拼音排序漢字的字典是以英文字母“a”開頭并以“z”結(jié)尾的,那么“安”字就自然地排在字典的前部。如果您翻完了所有以“a”開頭的部分仍然找不到這個(gè)字,那么就說明您的字典中沒有這個(gè)字;同樣的,如果查“張”字,那您也會將您的字典翻到最后部分,因?yàn)椤皬垺钡钠匆羰恰皕hang”。也就是說,字典的正文部分本身就是一個(gè)目錄,您不需要再去查其他目錄來找到您需要找的內(nèi)容。我們把這種正文內(nèi)容本身就是一種按照一定規(guī)則排列的目錄稱為“聚集索引”。

  如果您認(rèn)識某個(gè)字,您可以快速地從自動中查到這個(gè)字。但您也可能會遇到您不認(rèn)識的字,不知道它的發(fā)音,這時(shí)候,您就不能按照剛才的方法找到您要查的字,而需要去根據(jù)“偏旁部首”查到您要找的字,然后根據(jù)這個(gè)字后的頁碼直接翻到某頁來找到您要找的字。但您結(jié)合“部首目錄”和“檢字表”而查到的字的排序并不是真正的正文的排序方法,比如您查“張”字,我們可以看到在查部首之后的檢字表中“張”的頁碼是672頁,檢字表中“張”的上面是“馳”字,但頁碼卻是63頁,“張”的下面是“弩”字,頁面是390頁。很顯然,這些字并不是真正的分別位于“張”字的上下方,現(xiàn)在您看到的連續(xù)的“馳、張、弩”三字實(shí)際上就是他們在非聚集索引中的排序,是字典正文中的字在非聚集索引中的映射。我們可以通過這種方式來找到您所需要的字,但它需要兩個(gè)過程,先找到目錄中的結(jié)果,然后再翻到您所需要的頁碼。我們把這種目錄純粹是目錄,正文純粹是正文的排序方式稱為“非聚集索引”。

  通過以上例子,我們可以理解到什么是“聚集索引”和“非聚集索引”。進(jìn)一步引申一下,我們可以很容易的理解:每個(gè)表只能有一個(gè)聚集索引,因?yàn)槟夸浿荒馨凑找环N方法進(jìn)行排序。

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

下面的表總結(jié)了何時(shí)使用聚集索引或非聚集索引(很重要): 
       事實(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ù)對應(yīng)的頁碼,然后再根據(jù)頁碼查到具體內(nèi)容。

相關(guān)文章

  • SQL server中字符串逗號分隔函數(shù)分享

    SQL server中字符串逗號分隔函數(shù)分享

    繼SQl -Function創(chuàng)建函數(shù)數(shù)據(jù)庫輸出的結(jié)果用逗號隔開,在開發(fā)中也有許多以參數(shù)的形式傳入帶逗號字條串參數(shù),需要的朋友可以參考下
    2016-10-10
  • SQL Server 公用表表達(dá)式(CTE)實(shí)現(xiàn)遞歸的方法

    SQL Server 公用表表達(dá)式(CTE)實(shí)現(xiàn)遞歸的方法

    這篇文章主要介紹了SQL Server 公用表表達(dá)式(CTE)實(shí)現(xiàn)遞歸的方法,需要的朋友可以參考下
    2017-05-05
  • NetBeans連接SQL server數(shù)據(jù)庫教程

    NetBeans連接SQL server數(shù)據(jù)庫教程

    這篇文章主要介紹了NetBeans連接SQL server數(shù)據(jù)庫教程,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-06-06
  • SQL查詢語句求出用戶的連續(xù)登陸天數(shù)

    SQL查詢語句求出用戶的連續(xù)登陸天數(shù)

    這篇文章主要是SQl語句的練習(xí),本文教大家如何用SQL查詢語句求出用戶的連續(xù)登陸天數(shù),有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2021-10-10
  • SQL數(shù)據(jù)查詢之DQL語言介紹

    SQL數(shù)據(jù)查詢之DQL語言介紹

    首先對于數(shù)據(jù)庫有一定的了解,會對于數(shù)據(jù)庫的學(xué)習(xí)有一定的幫助;?數(shù)據(jù)庫主要分為 DB(數(shù)據(jù)庫),DBMS(數(shù)據(jù)庫管理系統(tǒng)),SQL(結(jié)構(gòu)化查詢語言,用于和DBMS通信的語言);這篇要講的DQL(數(shù)據(jù)查詢語句)是屬于SQL語言中的一種語言,因此是必學(xué)的語言,希望可以有一定的幫助
    2022-08-08
  • SQL Server 2000的安全配置

    SQL Server 2000的安全配置

    SQL Server 2000的安全配置...
    2006-10-10
  • sqlserver主鍵自增的實(shí)現(xiàn)示例

    sqlserver主鍵自增的實(shí)現(xiàn)示例

    這篇文章主要介紹了sqlserver主鍵自增的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • Sql語句與存儲過程查詢數(shù)據(jù)的性能測試實(shí)現(xiàn)代碼

    Sql語句與存儲過程查詢數(shù)據(jù)的性能測試實(shí)現(xiàn)代碼

    Sql語句 存儲過程查 性能測試對比代碼。
    2009-04-04
  • SQL Server之JSON 函數(shù)詳解

    SQL Server之JSON 函數(shù)詳解

    本篇文件將結(jié)合MSND簡要分析Sqlserver中JSON函數(shù),主要包括ISJSON,JSON_VALUE,JSON_MODIFY,JSON_QUERY,需要的朋友可以參考下
    2019-11-11
  • SQL Server 數(shù)據(jù)庫索引其索引的小技巧

    SQL Server 數(shù)據(jù)庫索引其索引的小技巧

    關(guān)于索引的常識:影響到數(shù)據(jù)庫性能的最大因素就是索引。由于該問題的復(fù)雜性,我只可能簡單的談?wù)勥@個(gè)問題,不過關(guān)于這方面的問題,目前有好幾本不錯(cuò)的書籍可供你參閱。我在這里只討論兩種SQL Server索引,即clustered索引和nonclustered索引
    2012-06-06

最新評論