- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
$SQLServer传统索引结构概论
SQL Server传统索引结构 不包括空间索引,XML索引,全文索引,列存储索引 林勇桦 数据文件都可以除尽8KB 索引页面和数据页面会有objectid 两种表页面组织结构 聚集索引和非聚集索引都是B+树结构 堆表 498页面 分配扫描 VS 范围扫描 分配扫描 堆表+非聚集索引 研究使用的命令:DBCC IND(库名,表名,格式) DBCC PAGE(库名,文件编号,页号,格式) 其他研究工具: winhex 从DBCC IND命令可以看到非聚集索引有两层(index level) 并且它会读取每个页面的页头 m_prevPage = (1:254) m_nextPage = (1:304) 双向链表:order by root root page DBCC PAGE([pratice],1,164,3) child child page DBCC PAGE([pratice],1,250,3) 什么是HEAP RID(KEY) FileID:PageID:SlotNumber HEAP RID(KEY)有啥用? RID查找(RID lookup) KeyHashValue有啥用? 类似于下面C#线程同步代码 include()包含性列索引 msdn:可以将非键列包含在非聚集索引中,以避免超过当前索引大小的限制(最大键列数为16,最大索引键大小为900字节),数据库引擎计算索引键列数或索引键大小时候,不考虑非键列 前转指针 1、update in place 2、non update in place 前转指针的存在导致消耗更多IO 查看前转指针记录数 SELECT * FROM sys.[dm_db_index_physical_stats](db_id(),OBJECT_ID(Department8),NULL,NULL,NULL) 后转指针 记录归位 1、收缩数据文件 2、alter table xx rebuild 非聚集索引的查找和扫描过程 堆表+非聚集索引执行计划 SELECT [GroupName] FROM [dbo].[Department8] WHERE name= 销售部22 --索引查找 SELECT [GroupName] FROM [dbo].[Department8] WHERE [GroupName]=销售组10 --索引扫描 SELECT [GroupName] FROM [dbo].[Department8] WHERE [DepartmentID]=66 --全表扫描 只扫堆 SELECT [DepartmentID],[ModifiedDate] FROM [dbo].[Department8] WHERE name= 销售部8 --索引查找 RID查找 SELECT * FROM [dbo].[Department8] WHERE [GroupName]=销售组10 --索引扫描 RID查找 几个未解决的问题 聚集索引表+非聚集索引 研究使用的命令:DBCC IND(库名,表名,格式) DBCC PAGE(库名,文件编号,页号,格式) IndexID为 1 的都是聚集索引页面 PageType 分页类型: 1:数据页面;2:索引页面;10:IAM页面 IndexID 索引ID: 0 代表堆, 1 代表聚集索引, 2-999 代表非聚集索引 root root page DBCC PAGE([pratice],1,489,3) child child page DBCC PAGE([pratice],1,491,3) 建立非聚集索引 CREATE NONCLUSTERED INDEX NCL_GroupName ON [dbo].[Department7](GroupName) root root page DBCC PAGE([pratice],1,1264,3) 什么是UNIQUIFIER(KEY) 用以保证聚集索引键唯一 聚集索引表+非聚集索引执行计划 SELECT * FROM [dbo].[Department7] WHERE [DepartmentID]=66 --聚集索引查找 SELECT [GroupName] FROM [dbo].[Department7] WHERE [Group
您可能关注的文档
- 底盘散装工位工艺卡概要.doc
- 废旧电池的处理与再利用概要.ppt
- 安全文明施工方案(完成)讲解.doc
- 培训体系的建设讲解.ppt
- 培训学校操作手册讲解.doc
- 废金属的回收利用概要.pptx
- 培训中心化验员考试题库讲解.doc
- 培养孩子活泼开朗的性格讲解.doc
- 培智生活语文第三册教案讲解.doc
- 康复治疗培训-ADL训练概要.ppt
- 3.2.1解开光合作用之谜、叶绿体与光能的捕获 课后练习(含答案)高中生物学 必修1苏教版.docx
- 河北省唐山市2024-2025学年高一下学期期末考试政治试题(含解析).docx
- Unit 4 Amazing Plants and Animals 知识点梳理 人教版英语八年级上册.docx
- 化学品热稳定性的测试方法 绝热加速量热法TCCSAS 057-2025.docx
- TCCSAS 026-2023化工企业操作规程管理规范.docx
- TCCSAS 018-2022加氢站氢运输及配送安全技术规范.docx
- TCCSAS 047-2023危险化学品编码与标识技术规范.docx
- 基孔肯雅热知识学习考核测试试卷题库及答案.doc
- 全科医学住院医师-外科知识考试题库(附答案).doc
- 2025年基孔肯雅热应知应会知识测试考核试卷题库及答案.doc
文档评论(0)