ПРИМЕЧАНИЕ. Всю эту информацию можно найти в руководствах по Teradata, которые можно загрузить с веб-сайта здесь. Оттуда вы можете выбрать интересующий вас выпуск в правом верхнем углу экрана.
Добавление сжатия списка значений к существующему столбцу
В зависимости от размера и продолжительности таблицы, которую вы можете допустить, чтобы таблица была монопольно заблокирована, вы можете добавить сжатие списка значений, используя ALTER TABLE
. Если в заголовке таблицы достаточно битов присутствия для списка сжатых значений, операция может быть достаточно быстрой, в противном случае она будет довольно интенсивной:
ALTER TABLE MyDB.MyTable ADD SEGMENT CHAR(10)
COMPRESS ('AM', 'CAM', 'KAM', 'KO', 'PSHC', 'RES', 'SBS');
В противном случае вы можете создать новую таблицу с определенным для нее сжатием списка значений, скопировать статистику из исходной производственной таблицы в новую таблицу, вставить данные в новую таблицу, а затем переименовать таблицы, чтобы ввести новую таблицу в качестве производственной. стол.
Добавление столбца в существующую таблицу
Если в заголовке таблицы есть неиспользуемые биты присутствия, добавление этого столбца с помощью ALTER TABLE может быть довольно быстрой операцией. Если битов присутствия недостаточно для захвата списка сжатых значений, ALTER TABLE
не рекомендуется:
ALTER TABLE MyDB.MyTable ADD pot_klasse CHAR(1)
CHARACTER SET LATIN NOT CASESPECIFIC COMPRESS ('B','U');
Изменение основного индекса
Это зависит.
Бывают ситуации, когда вы можете изменить PI таблицы, не создавая новую таблицу с помощью ALTER TABLE
. (например, от неуникального к уникальному). Однако чаще всего вам приходится создавать новую таблицу и вставлять данные из исходной таблицы в новую таблицу. (например, добавление столбца, изменение типа данных столбца в первичном индексе и т. д.)
person
Rob Paller
schedule
09.08.2012