У нас есть столбец char(16)
, который должен быть до тех пор, пока char(128)
. Как изменить тип данных в SQL Server 2008 R2, если таблица содержит более 100 000 строк? Возможно, это не имеет значения.Длина столбца столбца SQL-кода
Как дорого стоит эта операция?
Вы не должны использовать SQL, если вы не знаете, как это сделать, или узнать (очень легко) как это сделать. – leppie
Знаете ли вы, что столбец 'CHAR (128)' всегда будет ** использовать 128 символов (байтов) памяти? Он всегда будет использовать всю длину. Для длины такого размера я бы настоятельно рекомендовал вместо этого использовать 'VARCHAR (128)', который только когда-либо использует столько места, сколько символ хранится в нем ... –
Re «насколько дорога эта операция?» Размер каждой строки данных расширяется на 116 байтов, которые необходимо вставлять в конце каждого расширяемого поля, расширяя размер данных на 11,5 МБ (около 1400 страниц). Вероятно, что практически все данные в таблице должны быть физически перемещены по страницам и экстентам. Как рекомендовано marc_s, использование столбцов переменной ширины может быть предпочтительным, если данные, хранящиеся в столбце, значительно различаются по всем записям, поскольку расширение емкости столбца не потребует по существу расширения каждой отдельной строки данных. – drf