В Oracle вы можете добавить пустые столбцы в существующую заполненную таблицу, и в результате ничего не произойдет, кроме логического переопределения структуры таблицы. Однако, когда вы заполняете эти столбцы, что может произойти во время добавления столбца, тогда строки должны расширяться, и вы можете столкнуться с проблемой с некоторыми строками, не имеющими достаточно свободного места в блоках, которые их содержат, и в этом случае они будут перенесены в другой блок с указателем, оставленным в исходном местоположении (таким образом, индексы не будут затронуты, поскольку они продолжают указывать на исходное местоположение).
Из-за этого, если вы добавляете заполненные столбцы в таблицу со строками в ней, вы можете переименовать исходную таблицу и выполнить «создать таблицу как выбор», чтобы создать и заполнить новую версию. Индексы, триггеры, привилегии и т. Д., Конечно, также должны быть перенесены. Однако, если таблица не слишком велика, вы можете добавить заполненные столбцы, взяв на себя производительность из-за переноса строк, а затем выполнить перемещение таблицы для ее реорганизации.