Nous avons une colonne char(16)
qui doit être aussi longue que char(128)
. Comment modifier le type de données dans SQL Server 2008 R2 si la table contient plus de 100 000 lignes? Cela n'a peut-être pas d'importance.Prolong SQL colonne type de données
Combien coûte cette opération?
Vous ne devriez pas utiliser SQL si vous ne savez pas comment faire ou trouver (très facilement) comment faire cela. – leppie
Savez-vous qu'une colonne 'CHAR (128)' utilisera ** toujours ** 128 caractères (octets) de stockage? Il utilisera toujours toute la longueur. Pour une longueur de cette taille, je recommande fortement d'utiliser 'VARCHAR (128)' à la place - qui utilise seulement autant d'espace que de caractères sont stockés dedans ... –
Re "Combien coûte cette opération?" La taille de chaque ligne de données est étendue de 116 octets, qui doivent être insérés à la fin de chaque champ en cours d'extension, ce qui augmente la taille des données de 11,5 Mo (environ 1400 pages). Il est probable que pratiquement toutes les données de la table devront être déplacées physiquement entre les pages et les extensions. Comme recommandé par marc, l'utilisation de colonnes de largeur variable pourrait être préférable si les données stockées dans la colonne varient considérablement d'un enregistrement à l'autre, car l'extension de la capacité de la colonne ne nécessiterait pas nécessairement l'extension de chaque ligne de données. – drf