Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Вопрос о типах данных...  [new]
Cast
Member

Откуда: СПБ
Сообщений: 66
Имею таблицу с 9млн строк.
При изменении типа данных столбца с varchar на nvarchar увеличивается соответственно размер файла данных. А что будет с файлом mdf, если вернуть исходный тип данных столбцу т.е. varchar ?

Должен ли уменьшиться размер файла mdf ?
26 авг 09, 16:53    [7583129]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос о типах данных...  [new]
проходящий.
Guest
Cast
Имею таблицу с 9млн строк.
При изменении типа данных столбца с varchar на nvarchar увеличивается соответственно размер файла данных. А что будет с файлом mdf, если вернуть исходный тип данных столбцу т.е. varchar ?

Должен ли уменьшиться размер файла mdf ?
Нет. Он никому неичего не должен.
26 авг 09, 16:53    [7583135]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос о типах данных...  [new]
Ozerov
Member

Откуда: Москва
Сообщений: 3650
Может Вы имели не размер, а занимаемое пространство ? Размеру то с чего уменьшаться ?
26 авг 09, 16:54    [7583136]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос о типах данных...  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36808
Файл mdf уменьшится только после запуска специальной команды. А вот свобоное место может добавиться.

З.Ы. А ваще, мсье знает толк в извращениях, как я погляжу.
26 авг 09, 16:55    [7583146]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос о типах данных...  [new]
Cast
Member

Откуда: СПБ
Сообщений: 66
Гавриленко Сергей Алексеевич, да, с командами DBCC SHRINKDATABASE
и SHRINKFILE знаком...
C каждым запуском команд размер базы увеличивается примерно на 1гб... свободного места в базе остаётся метров 10.

alter table syslog alter column message varchar(max);
сжимаю базу;
alter table syslog alter column message nvarchar(max);
сжимаю базу;

alter table syslog alter column message varchar(max);
сжимаю базу;
alter table syslog alter column message nvarchar(max);
сжимаю базу;

Авторасширение 1мб.

По идеи-то, с перехода на nvarchar база может увеличиться, но почему она увеличивается с изменения nvarchar на varchar ?
27 авг 09, 10:26    [7585142]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос о типах данных...  [new]
Glory
Member

Откуда:
Сообщений: 104760
Cast


По идеи-то, с перехода на nvarchar база может увеличиться, но почему она увеличивается с изменения nvarchar на varchar ?

Потому, что увеличивается число страниц занимаемых таблицей
Если вы думаете, что сервер начинает перераспределять уже выделенные страницы поля в новое поле, то вы ошибаетесь. Это очень долгий процесс. Поэтому под изменяемое поле выделяются новые страницы. А использованные ранее остаются зарезервированными за таблицей

sp_spaceused вам это покажет
27 авг 09, 10:35    [7585191]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос о типах данных...  [new]
Ozerov
Member

Откуда: Москва
Сообщений: 3650
Cast

Авторасширение 1мб.

Конечно не известна интенсивность наполнения базы, но что то мне подсказывает, что у Вас стоит слишком маленький прирост. Имейте ввиду, прирост - ресурсоемкая операция.
27 авг 09, 12:16    [7585841]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос о типах данных...  [new]
Cast
Member

Откуда: СПБ
Сообщений: 66
Glory, sp_spaceused syslog;

reserved data index_size unused
------------------ ------------------ ------------------ ------------------
6757144 KB 6755512 KB 592 KB 1040 KB


Ozerov, в курсе, это тестовая база.
27 авг 09, 12:53    [7586089]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос о типах данных...  [new]
Glory
Member

Откуда:
Сообщений: 104760
Cast
Glory, sp_spaceused syslog;

reserved data index_size unused
------------------ ------------------ ------------------ ------------------
6757144 KB 6755512 KB 592 KB 1040 KB


Это вы для базы привели, а не для таблицы
27 авг 09, 14:05    [7586568]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос о типах данных...  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74927
Cast,

У Вас куча что-ли?!
27 авг 09, 14:08    [7586582]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос о типах данных...  [new]
Cast
Member

Откуда: СПБ
Сообщений: 66
Glory,
name rows reserved data index_size unused
syslog 9340861 7463648 KB 7456096 KB 16 KB 7536 KB

pkarklinх, ну да
27 авг 09, 17:55    [7587883]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить