При работе с таблицами БД администратор часто вынужден добавлять или удалять столбцы. Хотя эти операции являются довольно распространенными, планировать их нужно особенно тщательно, поскольку для их выполнения требуется полная блокировка на довольно длительное время.
Для добавления или удаления столбца Alter table Полностью блокирует таблицу , И никаких других действий с таблицей произвести нельзя. Поэтому нужно выполнить все как можно быстрее. Drop column Фактически не удаляет столбец из всех строк таблицы, а только помечает его как удаленный. Поэтому Drop column — очень быстрая операция. Операция Add column Также является очень быстрой, если добавлять обнуляемый столбец, имеющий значение по умолчанию Null. Если наложить ограничение Not null Или задать определенное значение по умолчанию, то нужно будет переписать каждую строку таблицы, и тогда времени понадобится гораздо больше. Как показано в основном рецепте, Alter table Позволяет выполнить сразу много операций со столбцами. Операция Alter table Оптимизирована таким образом, что включает все операции со столбцами в один проход по таблице. Это значительно увеличивает скорость при внесении сложной комбинации изменений, например:
Если переписать таблицу, то все столбцы, для которых выполнили Drop, Будут удалены. Если нет, они еще какое-то время будут оставаться в таблице. Последовательно выполненные операции Insert и update Вставят в столбцы после Drop Значение Null. Таким образом, обновление уменьшит размер хранимых строк, если их значение до сих пор не было нулевым. Теоретически получается, что через некоторое время база данных должна вернуть часть занятого места. Однако на практике это происходит, только если все строки таблицы были обновлены в течение одного периода времени. Во многих таблицах содержатся старые данные, поэтому без дополнительных операций место высвобождено не будет.
Рубрика: Женский интерес