1

大家好,

问题:我正在寻找将索引从聚集索引转换为非聚集索引的正确方法

描述:我在 sybase db 中有一个如下表:

dbo.UserLog
------------------------
Id | UserId |time | ....
------------------------

这是使用 UserId 进行哈希分区的。

目前它有2个索引

UserId : non-clustered
time: clustered

该表有大约 2000 万条记录。

我现在想将 UserId 设为聚集索引,将时间设为非聚集索引。

用户更改索引从群集更改为非群集是否正确,或者我是否删除索引并重新创建。userId 用于哈希分区的事实对此有什么影响吗?

对我来说,改变似乎还有很长的路要走,但我还没有尝试过。

4

1 回答 1

1

只需放下两者,然后按照您想要的方式重新创建它们。由于您正在对每个索引进行如此重大的更改,我确信当您运行 alter 时,数据库引擎只是删除并创建它们。如果您担心the fact that userId is used in hash partitioning创建每个新索引对我来说似乎是最安全的,但我确信如果您使用 alter,Sybase 不会搞砸。

于 2010-04-20T17:31:13.957 回答