SQLSERVER聚集索引与非聚集索引的再次研究(上) 上篇主要说聚集索引 下篇的地址:SQLSERVER聚集索引与非聚集索引的再次研究(下) 由于本人还是SQLSERVER菜鸟一枚,加上一些实验的逻辑严谨性, 单写《SQLSERVER聚集索引与非聚集索引的再次研究(上)》就用
SQLSERVER聚集索引与非聚集索引的再次研究(上)
上篇主要说聚集索引
下篇的地址:SQLSERVER聚集索引与非聚集索引的再次研究(下)
由于本人还是SQLSERVER菜鸟一枚,加上一些实验的逻辑严谨性,
单写《SQLSERVER聚集索引与非聚集索引的再次研究(上)》就用了12个小时,两篇文章加起来最起码写了20个小时,
本人非常非常用心的努力完成这两篇文章,希望各位看官给点意见o(∩_∩)o
本文来源gaodai#ma#com搞*!代#%^码$网*
为了搞清楚索引内部工作原理和结构,真是千头万绪,这篇文章只是作为参考,里面的观点不一定正确
有一些问题,msdn里,网上的文章里,博客园里都有提到,但是这些问题的答案是正确的吗?其实有时候我自己都想知道答案
比如,画聚集索引的图,有一些人用表格来表示,但是他们正确吗?
以前知道聚集索引 非聚集索引是B树 二叉树结构,又知道执行计划图标很像二叉树很传神,但是还是觉得很抽象
这篇文章写完以后还是比较抽象但是最起码比以前清晰一些了
有很多问题不知道为什么,但是MSDN就是这样说的,既然说得这麽模糊不如自己做一下实验,验证一下MSDN的内容吧o(∩_∩)o
——————————————–华丽的分割线———————————————
先来看一下索引的结构,文章里面的一些结构图都是自己画的一些草图,本人自认画得非常烂,希望各位看官谅解o(∩_∩)o
———————————————-华丽的分割线———————————————————
先创建一个表,保存DBCC IND的结果
<span> 1</span> <span>CREATE</span> <span>TABLE</span><span> DBCCResult (</span><span> 2</span> PageFID <span>NVARCHAR</span>(<span>200</span><span>),</span><span> 3</span> PagePID <span>NVARCHAR</span>(<span>200</span><span>),</span><span> 4</span> IAMFID <span>NVARCHAR</span>(<span>200</span><span>),</span><span> 5</span> IAMPID <span>NVARCHAR</span>(<span>200</span><span>),</span><span> 6</span> ObjectID <span>NVARCHAR</span>(<span>200</span><span>),</span><span> 7</span> IndexID <span>NVARCHAR</span>(<span>200</span><span>),</span><span> 8</span> PartitionNumber <span>NVARCHAR</span>(<span>200</span><span>),</span><span> 9</span> PartitionID <span>NVARCHAR</span>(<span>200</span><span>),</span><span>10</span> iam_chain_type <span>NVARCHAR</span>(<span>200</span><span>),</span><span>11</span> PageType <span>NVARCHAR</span>(<span>200</span><span>),</span><span>12</span> IndexLevel <span>NVARCHAR</span>(<span>200</span><span>),</span><span>13</span> NextPageFID <span>NVARCHAR</span>(<span>200</span><span>),</span><span>14</span> NextPagePID <span>NVARCHAR</span>(<span>200</span><span>),</span><span>15</span> PrevPageFID <span>NVARCHAR</span>(<span>200</span><span>),</span><span>16</span> PrevPagePID <span>NVARCHAR</span>(<span>200</span><span>)</span><span>17</span> )