Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Как можно максимально безболезнено поменять столбцы char на varchar по всей базе / 9 сообщений из 9, страница 1 из 1
09.02.2006, 11:21
    #33533381
Alexey Kuznetsov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно максимально безболезнено поменять столбцы char на varchar по всей базе
Вот вычитал в топике про оптимизацию сервера про то что нехорошо иметь много полей типа char к тому же полупустых

а у нас в бд везде напихано char полей :(

как максимально безболезненно (с сохранением данных)
перейти на поля с varchar или тока путем пересоздания бд с заливкой данных?
...
Рейтинг: 0 / 0
09.02.2006, 11:39
    #33533486
gardenman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно максимально безболезнено поменять столбцы char на varchar по всей базе
Сначала делаешь backup

Делаешь сначала RENAME нужной таблицы.
Потом Создаешь таблицу с нужной структурой и правильным назвением.
потом в одной транзакции делаешь:
ALTER TABLE newtable ACTIVATE NOT LOGGED INITIALLY.
И переливаешь данные 1:1 (insert from select)
COMMIT.
Старую таблицу убиваешь.
И так в цикле по всем таблам.

И в конце пересоздаешь все нужные индексы, триггеры, пересвязываешь пакеты.
...
Рейтинг: 0 / 0
10.02.2006, 08:31
    #33535922
golsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно максимально безболезнено поменять столбцы char на varchar по всей базе
тип Char - единственное поле которому можно увеличить длину или изменить тип на varchar в операторе alter table. Правда уже имеющиеся данные при этом останутся старой длины.
...
Рейтинг: 0 / 0
10.02.2006, 08:32
    #33535926
golsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно максимально безболезнено поменять столбцы char на varchar по всей базе
Я имел ввиду безо всякого переливания данных - прямо по живой таблице.
...
Рейтинг: 0 / 0
10.02.2006, 10:45
    #33536315
gardenman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно максимально безболезнено поменять столбцы char на varchar по всей базе
golsaтип Char - единственное поле которому можно увеличить длину или изменить тип на varchar в операторе alter table. Правда уже имеющиеся данные при этом останутся старой длины.
Хочу примерчик... работающий....
...
Рейтинг: 0 / 0
10.02.2006, 11:51
    #33536566
тлгдшлщм
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно максимально безболезнено поменять столбцы char на varchar по всей базе
2gardenman.

Такой alter будет в 9-ке
...
Рейтинг: 0 / 0
10.02.2006, 11:55
    #33536579
gardenman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно максимально безболезнено поменять столбцы char на varchar по всей базе
тлгдшлщм2gardenman.

Такой alter будет в 9-ке

Хочу девятку

Как много однако у меня желаний....
...
Рейтинг: 0 / 0
14.02.2006, 07:13
    #33542380
golsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно максимально безболезнено поменять столбцы char на varchar по всей базе
Я в DB2 7.2 for Win увеличивал длину поля CHAR из Control Center - как только длина стала больше 255 - поле поменяло тип на VARCHAR. При этом формировался AFTER TABLE - текст не помню. Под рукой нет DB2.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
15.03.2010, 10:32
    #36520189
warIord
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно максимально безболезнено поменять столбцы char на varchar по всей базе
golsa,


оч сомневаюсь, вы увеличивали скорее таки размер поля VARCHAR ибо вот сейчас с такой же проблемой бодаюсь на db2 7.2 Win, нету такого в SQL под 7.2 , нету
...
Рейтинг: 0 / 0
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Как можно максимально безболезнено поменять столбцы char на varchar по всей базе / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]