|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre Expert
![]() Analyste / Programmeur / DBA Inscription : juillet 2006 Messages : 1 935 ![]() |
Bonjour,
Ce matin, je suis confronté au changement du type d'une colonne sur laquelle s'appuie plusieurs indexes. Cette colonne est actuellement en CHAR(16) et doit passer en CHAR(18). J'ai déjà créé une colonne temporaire et j'y ai placé toutes les données que l'ancienne colonne contient. Je veux donc maintenant la supprimer pour la recréer avec le bon type mais du fait des indexes, je ne peux pas. Je sais bien que je pourrais supprimer les indexes pour les recréer ensuite mais cette opération (la recréation pour être précis) va prendre pas mal de temps. Est-ce que je peux les désactiver et juste les réactiver après ? (j'imagine que je devrai tout de même faire un rebuild ou quelque chose du genre...) Y a-t-il une autre solution qui serait moins consommatrice en temps de traitement ? La table est-elle verrouillée le temps qu'un index se construise ? Merci d'avance pour vos réponses.
__________________
Kropernic (anciennement Griftou). |
|
|
00
|
|
|
#2 |
|
Expert Confirmé Sénior
![]() ![]() ![]() David BARBARINInscription : août 2005 Messages : 4 143 ![]() |
Hello,
Tu vas être obligé de supprimer ton ou tes index qui dépendent de ta colonne. La désactivation d'un index ne te sera pas bénéfique ici car seule la structure d'index sera supprimée mais la définition sera toujours présente ... donc tu ne pourras toujours pas modifier ton type de colonne. ++ |
|
10
|
|
|
#3 |
|
Membre Expert
![]() Analyste / Programmeur / DBA Inscription : juillet 2006 Messages : 1 935 ![]() |
Bonjour,
C'est ce que j'ai fini par faire en effet. J'en déduis donc qu'il n'y a pas de moyen détourner de faire cela sans les supprimer et recréer. Merci pour la clarification.
__________________
Kropernic (anciennement Griftou). |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com