关于聚集索引, 这两种说法怎么是矛盾的呢?

[复制链接]
查看11 | 回复3 | 2005-10-30 17:05:33 | 显示全部楼层 |阅读模式
一种说法是:在向聚集表中插数据前,须先针对聚集建立一个聚集索引,否则不能插入数据. 就是说,对于聚集来说,必须先有索引,然后才允许聚集表有数据.
这个我测过了,是正确的.要先对聚集建索引,才能向聚集表中插数据.
另一种说法是:创建聚集索引时,将会对表数据进行排序,此时数据库上须有足够空闲空间(大概是表大小的1.2倍).当聚集索引建立完毕后, 建立聚集索引的列中的数据已经全部按序排列了.这就是说,聚集表可以先有数据,再建立索引.
根据上面的测试, 没建索引,聚集表中是不能有数据的,那这种说法是不是错误的呢?很多出处都是这么描述的哦.
谢谢指点.
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
聚集索引这个概念是sqlserver的,oracle里不这么称呼
oracle叫簇表,簇索引,你的第一种说法就是针对这个
第二种说法似乎是针对sqlserver的聚集索引
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
谢谢楼上指点
那么,对于oracle来说,只有第一种方法才是正确的是吗?
也就是说,无论什么情况下,oracle一定要先建好簇索引,然后才能进行数据插入了? 聚簇上先有数据再建索引的情况是不允许出现的,是吧?
谢谢!!
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
hash簇,不需要建簇索引,插了数据的簇表也可以建索引,但这条索引只是普通索引,不是簇索引,簇索引是给簇建的索引,不隶属于某张表
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行