回到頂部

(1)掌握SqlServer索引的基本概念

時間:5年前   作者:lishan   瀏覽:465   [站內原創,轉載請注明出處]

標簽: SQL Server  

先了解聚集索引的基本常識

索引的定義:索引是一種用于排序的搜索的結構

表和索引的結構

(1)       頁和區:

1.       頁是存儲數據的基本單位(8kb),也是讀寫的最小i/o單位

2.       包含信息:表、索引數據、分配位圖、可用空間信息

3.       

注意:頁是sql server可以讀寫的最小i/o單位,即使只須訪問一行,sql server也要把整個頁加載到緩存,再從緩存中讀取數據

4.       區是由8個物理上連續的頁組成的單元

(2)       表的組織方式

1.       2種組織方式:堆、B

2.       堆:不含聚集索引的表

堆存儲數據是不按任何順序進行組織

可以通過掃描IAM 頁對堆進行表掃描或串行讀操作來找到容納該堆的頁的區


3.       聚集索引

3.1索引概述:索引是按 B 樹結構進行組織的。索引 B 樹中的每一頁稱為一個索引節點。B 樹的頂端節點稱為根節點。索引中的底層節點稱為葉節點。根節點與葉節點之間的任何索引級別統稱為中間級


3.2在聚集索引中,葉節點包含基礎表的數據頁。根節點和中間級節點包含存有索引行的索引頁

3.3每個索引行包含一個鍵值和一個指針,該指針指向 B 樹上的某一中間級頁或葉級索引中的某個數據行

3.4一個分區 就是一個B樹結構



4.       非聚集索引

4.1非聚集索引中的每個索引行都包含非聚集鍵值和行定位符。此定位符指向聚集索引或堆中包含該鍵值的數據行。

1)如果表是堆(意味著該表沒有聚集索引),則行定位器(row locator)是指向行的指針。該指針由文件標識符(file ID)、頁碼(page number)和頁上的行數(number of the row on the page)生成。整個指針稱為行 ID RID)。

2)如果表有聚集索引或索引視圖上有聚集索引,則行定位器是行的聚集索引鍵。如果聚集索引不是唯一的索引,SQL Server 將添加在內部生成的值(稱為唯一值)以使所有重復鍵唯一。此四字節的值對于用戶不可見。僅當需要使聚集鍵唯一以用于非聚集索引中時,才添加該值。SQL Server 通過使用存儲在非聚集索引的葉行內的聚集索引鍵搜索聚集索引來檢索數據行。


龐順龍最后編輯于:4年前

內容均為作者獨立觀點,不代表八零IT人立場,如涉及侵權,請及時告知。

評論努力加載中...
暫無評論
暫無評論

手機掃碼閱讀

熱門相關

加載中...
關于我們   聯系我們   申請友鏈   贊助記錄   站點地圖
? 2014 - 2017 www.1255315.live All Rights Reserved. 京ICP備14042174號-1
本站遵循 CC BY 4.0 協議,轉載請注明出處 。
辽宁十一选五走实图 北京十一选五遗漏 福建11选五走势图爱乐彩 双色球开奖结果 山东福彩群英会走势图 福建快3开奖走势图 搞活动的时时彩平台 股票配资监管相 内蒙古快三49期走势图 电力板块 福彩3d试机号分析