大家好,
问题:我正在寻找将索引从群集转换为非群集
的正确方法描述:我在sybase db中有一个表格如下:
dbo.UserLog
------------------------
Id | UserId |time | ....
------------------------
这是使用UserId进行哈希分区。
目前它有2个索引
UserId : non-clustered
time: clustered
此表有大约2000万条记录。
我现在想将UserId作为聚簇索引,将时间作为非聚集索引。
用户更改索引以从群集更改为非群集是否正确 或者我删除索引并重新创建。 在散列分区中使用userId的事实对此有何影响?
对我而言似乎还有待改进,但我还没试过。
答案 0 :(得分:1)
只需删除它们,然后按照您希望的方式重新创建它们。由于您对每个索引进行了如此重大的更改,因此我确信数据库引擎只是在您运行alter时正在删除并创建它们。如果你担心the fact that userId is used in hash partitioning
然后创建每个索引new对我来说似乎是最安全的,但我确信如果你使用alter,Sybase不会搞砸。