2010-04-20 35 views
1

Hej tout le monde,comment modifier efficacement index

problème: Je cherche la bonne façon de convertir un index de cluster non-cluster

Description: J'ai une table comme ci-dessous dans sybase db:

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

Ceci est partitionné à l'aide de UserId.

Actuellement, il a 2 index

UserId : non-clustered 
time: clustered 

Ce tableau a environ 20 millions de disques.

Je souhaite maintenant définir UserId comme index cluster et comme index non cluster.

est-il correct de modifier l'index de l'utilisateur pour passer de clusterisé à non-cluster ou dois-je supprimer l'index et recréer. Le fait que userId est utilisé dans le partitionnement de hachage ont des conséquences à cela?

Pour moi, le changement semble aller bien mais je n'ai pas encore essayé cela.

Répondre

1

Juste deux et drop puis les recréer la façon dont vous voulez. Puisque vous faites un changement majeur à chaque indice, je suis sûr que le moteur de DB est tout simplement en baisse et les créer lorsque vous exécutez l'alter de toute façon. Si vous êtes inquiet au sujet de la the fact that userId is used in hash partitioning alors la création de chaque nouvel indice semble le plus sûr que Sybase pour moi, mais je suis ne va pas gâcher si vous utilisez alter.