在SQL Server中删除聚簇索引是否安全?

时间:2009-08-21 15:29:20

标签: sql-server sql-server-2005

如果我在表上有一个聚簇索引,那么删除是否安全,如果我这样做,它是否会按照索引时的方式保持表的排序顺序?

2 个答案:

答案 0 :(得分:3)

如果删除它是安全的(只要涉及数据完整性且索引不是UNIQUE)。

当您删除CLUSTERED索引时,该表将变为堆组织(即表行不再是B-Tree的一部分),并且重建所有其他索引以引用{{1而不是RID

请注意,该表最初未“订购”。发出此查询时:

index value + uniquifier

,除非您使用SELECT * FROM mytable 子句,否则不保证行包含在索引顺序中。

答案 1 :(得分:2)

技术上删除总是安全的,但是在设计/架构/性能方面是否有意义,我们不能说。

数据将保留在磁盘上的顺序,直到更新/插入发生,但请不要完全依赖它。只有在最外面的SELECT

中使用ORDER BY才能保证输出