SQL聚集索引:“原来的数据会按照索引键排序后,重新存在硬盘上”什么意思 120
首先创建一个数据表student并插入了数据。然后创建聚集索引。那么原来的数据会按照索引键排序后,重新存在硬盘上。问题在于:“重新存储在硬盘上”是指把排序后的数据重新存储...
首先创建一个数据表student并插入了数据。然后创建聚集索引。那么原来的数据会按照索引键排序后,重新存在硬盘上。问题在于:“重新存储在硬盘上” 是指把排序后的数据重新存储在索引中(也就是说索引中会有一个源数据表student的副本,只不过索引中的这个副本会按照索引键的顺序进行物理存储)?还是指用排序后的数据替换掉原先的数据?(也就是说:假设原先数据表student的第一条数据存储在0x1000内存里,第二条数据存储在0x1001内存里,假设按键值排序排第一的是原先的第二条数据,排第二的是原先的第一条数据,那么将0x1000的内容修改为第二条数据,将0x1001的内容修改为第一条数据)?
展开
2个回答
2014-01-14
展开全部
聚集索引: 该索引中键值的逻辑顺序决定了表中相应行的物理顺序。如果用 新华字典 作例子来一个例子的话。 [拼音]就可以看作是聚集索引 例如 吖、阿、啊 在字典的最前面。 左、作、坐 在字典的最后面。 拼音[逻辑顺序]很接近,在字典中页数的位置[物理顺序]也很接近。
非聚集索引: 非聚集索引与聚集索引一样有 B 树结构,但是有两个重大差别: 数据行不按非聚集索引键的顺序排序和存储。 非聚集索引的叶层不包含数据页。 相反,叶节点包含索引行。每个索引行包含非聚集键值以及一个或多个行定位器, 这些行定位器指向有该键值的数据行(如果索引不唯一,则可能是多行)。如果用 新华字典 作例子来一个例子的话。 [笔画]就可以看作是非聚集索引 例如 化 仇 仃 仅 仂 这几个字,都是 单人旁,笔画数相同的。 笔画[逻辑顺序]很接近,在字典中页数的位置[物理顺序]则在不同的位置上。
非聚集索引: 非聚集索引与聚集索引一样有 B 树结构,但是有两个重大差别: 数据行不按非聚集索引键的顺序排序和存储。 非聚集索引的叶层不包含数据页。 相反,叶节点包含索引行。每个索引行包含非聚集键值以及一个或多个行定位器, 这些行定位器指向有该键值的数据行(如果索引不唯一,则可能是多行)。如果用 新华字典 作例子来一个例子的话。 [笔画]就可以看作是非聚集索引 例如 化 仇 仃 仅 仂 这几个字,都是 单人旁,笔画数相同的。 笔画[逻辑顺序]很接近,在字典中页数的位置[物理顺序]则在不同的位置上。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询