Удаляем column из очень большой таблицы
Удаляем column из очень большой таблицы¶
Если важны только данные соответствющих колонок¶
Так как прямое удаление колонки из очень большой таблицы с индексами - дело очень ресурсоёмкое и небыстрое, вместо удаления column из оригинальной таблицы делаем
create table newTable as select id1, id2 from oldTable;
где oldTable - старая таблица, newTable - название новой таблицы, а id1 и id2 - колонки, которые необходимо сохранить(указываем те колонки, что не должны быть затронуты удалением).
Если важно сохранить типы и индексы значений как у оригинальной таблицы¶
create table newTable like oldTable;
alter table newTable drop column unusedId;
insert into newTable(id1, id2) select id1, id2 from oldTable;
В данном случае мы создаём newTable со структурой и индексами как у оригинальной oldTable, удаляем из неё не нжуный column( в нашем случае unusedId), после чего копируем в таблицу значения тех колонок, которые необходимо сохранить.