SQLServer的索引结构(丛集索引).ppt

  1. 1、本文档共68页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SQLServer的索引结构(丛集索引).ppt

第12章 規劃與建立索引 12-1 索引的基礎 12-2 資料表的索引規劃 12-3 SQL Server自動建立的索引 12-4 建立資料表的索引 12-5 修改、重建與刪除索引 12-6 檢視SQL Server的執行計劃 12-7 建立檢視表與計算欄位的索引 12-8 篩選索引 12-1 索引的基礎 12-1-1 索引簡介 12-1-2 索引的種類 12-1-3 SQL Server的索引結構 12-1-1 索引簡介-說明 索引(Index)可以幫助資料庫引擎在磁碟中定位記錄資料,以便在資料表的龐大資料中加速找到資料。換句話說,建立資料表的索引可以提昇SQL查詢效率,讓我們更快取得資料庫的查詢結果。 在資料表建立索引需要額外的參考資料,資料庫管理系統可以將資料表的部分欄位資料預先進行排序,此欄位稱為「索引欄位」(Index Columns),索引欄位值稱為鍵值(Key Value)。 12-1-1 索引簡介-圖例 一般來說,索引資料包含兩個欄位值:一為索引欄位;一為指標(Pointer)欄位,它是指向對應到資料表記錄位置的值,如下圖所示: 12-1-2 索引的種類-主索引 主索引(Primary Index)就是將資料表的主索引鍵建立成索引,一個資料表只能擁有一個主索引。在資料表建立主索引的索引欄位,欄位值一定不能重覆,即欄位值是唯一,而且不允許是空值(NULL)。 在主索引的索引欄位可以是一個或多個欄位的組合,如果是由多個資料表欄位所組合,稱為複合索引(Composite Index)或結合索引(Concatenated Index),在主索引的複合索引中,個別欄位允許重複值,但是整個組合值仍然需要是唯一值。 12-1-2 索引的種類-唯一索引 唯一索引(Unique Index)的欄位值也是唯一的,不同於主索引只能有一個,在一個資料表可以擁有多個唯一索引,這也是與主索引唯一的差別。 12-1-2 索引的種類-一般索引 一般索引(Regular Index)的索引欄位值並不需要是唯一的,其主要目的是加速資料表的搜尋與排序。在一個資料表可以擁有多個一般索引。換句話說,我們可以在資料表選擇一些欄位來建立一般索引,其主要目的就是在增進查詢效能。 12-1-3 SQL Server的索引結構- M路搜尋樹(說明) B樹(B-Trees)是資料結構的一種樹狀搜尋結構,它是擴充自二元搜尋樹的一種平衡的M路搜尋樹。 M路搜尋樹(M-way Search Trees)是指樹的每一個節點都擁有至多M個子樹和M-1個鍵值,鍵值是以遞增方式由小至大來排序,其節點結構如下圖所示: 12-1-3 SQL Server的索引結構- M路搜尋樹(圖例) 例如:四路搜尋樹的每一個節點最多有3鍵值和4個子樹,如下圖所示: 12-1-3 SQL Server的索引結構-B樹 (說明) B樹(B-Tree)屬於一種樹狀搜尋結構,它是擴充自二元搜尋樹的一種平衡的M路搜尋樹。M為B樹的度數(Order),由Bayer和McCreight提出的一種平衡的M路搜尋樹,其定義如下所示: B樹的每一個節點最多擁有M個子樹。 B樹根節點和葉節點之外的中間節點,至少擁有ceil(M/2)個子節點,ceil()函數可以大於等於參數的最小整數,例如:ceil(4) = 4、ceil(4.33) = 5、ceil(1.89) = 2和ceil(5.01) = 6。 B樹的根節點可以少於2個子節點。葉節點至少擁有ceil(M/2) - 1個鍵值。 B樹的所有葉節點都位在樹最底層的同一階層(Level),換句話說,從根節點開始走訪到各葉節點所經過的節點數都相同,它是一棵相當平衡的樹狀搜尋結構。 12-1-3 SQL Server的索引結構-B樹 (圖例) 例如:一棵度數5的B樹,所有中間節點至少擁有ceil(5/2) = 3個子節點(即至少2個鍵值),最多5個子節點(4個鍵值),葉節點至少擁有2個鍵值,最多為4個鍵值,如下圖所示: 12-1-3 SQL Server的索引結構- SQL Server的索引結構(說明) SQL Server索引結構(Index Organization)是組成索引分頁的方法,可以分為叢集索引和非叢集索引兩種。 在SQL Server資料表只能擁有一個叢集索引,通常就是主索引,主索引的索引欄位可以是單一欄位,或多欄位的複合索引。 在一個資料表可以擁有多個非叢集索引,它可以是唯一索引或一般索引,當然也可以是多索引欄位的複合索引。 12-1-3 SQL Server的索引結構- SQL Server的索引結構(叢集索引) 叢集索引(Clustered Indexes)是一種B樹結構,當SQL Server資料表建立叢集索引後,資料表的記錄資料會依叢

文档评论(0)

wendang_12 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档