+ -
当前位置:首页 → 问答吧 → 关于聚集索引

关于聚集索引

时间:2011-11-25

来源:互联网

如果说聚集索引的B-TREE叶节点上包含的是数据行,那么,岂不是创建一个聚集索引将会复制整个表的数据?
就相当于一个表有10M大小,创建的聚集索引也是10M了?

作者: wzp144650   发布时间: 2011-11-25

的确是以空间换时间,但是具体是多少空间请教大牛吧

作者: yibey   发布时间: 2011-11-25

创建一个聚集索引将会复制整个表的数据?

不会的吧。

作者: fredrickhu   发布时间: 2011-11-25

引用 2 楼 fredrickhu 的回复:

创建一个聚集索引将会复制整个表的数据?

不会的吧。


书上都说聚集索引的B-TREE叶节点包含的是整个数据行,那不就相当于把所有数据备份了一份放到索引上吗?

作者: wzp144650   发布时间: 2011-11-25

想法非常好,担心也很对,所以sql server在设计的时候,聚集索引就是表本身,也就不存在多出一份数据来的问题了.

作者: perfectaction   发布时间: 2011-11-25

引用 4 楼 perfectaction 的回复:

想法非常好,担心也很对,所以sql server在设计的时候,聚集索引就是表本身,也就不存在多出一份数据来的问题了.

真的吗?????为什么联机丛书上没有讲呢。。

刚刚做了实验,create table test(id int ,name nvarchar(50)) 无索引状态下插入25W条数据,9.216M
然后在ID上创建聚集,创建后26M多,数据库每次1M,所以认为误差在1M以内。
如果按你所说,难道仅仅构建B-TREE创建了这么大空间?

作者: wzp144650   发布时间: 2011-11-25