Вопросы с тегом «alter-table»

Оператор SQL, используемый для изменения существующего табличного объекта.

5
Почему ALTER COLUMN в NOT NULL вызывает огромный рост файла журнала?
У меня есть таблица с 64-метровыми строками, занимающая 4,3 ГБ на диске для своих данных. Каждая строка составляет около 30 байтов целочисленных столбцов плюс переменный NVARCHAR(255)столбец для текста. Я добавил столбец NULLABLE с типом данных Datetimeoffset(0). Затем я ОБНОВИЛ этот столбец для каждой строки и убедился, что все новые вставки …

1
Как мне поменять местами таблицы в MySQL?
Предположим, у меня есть таблица foo, которая содержит статистику, которая вычисляется время от времени. Он активно используется другими запросами. Вот почему я хочу вычислить более свежую статистику foo_newи поменять ее, когда вычисления будут готовы. я мог бы сделать ALTER TABLE foo RENAME foo_tmp; ALTER TABLE foo_new RENAME foo; но что …

3
Добавление столбцов в производственные таблицы
Каков наилучший способ добавления столбцов в большие производственные таблицы в SQL Server 2008 R2? Согласно книгам Microsoft в Интернете: Изменения, указанные в ALTER TABLE, применяются немедленно. Если изменения требуют изменения строк в таблице, ALTER TABLE обновляет строки. ALTER TABLE получает блокировку изменения схемы для таблицы, чтобы убедиться, что никакие другие …

4
Мне нужно запустить VACUUM FULL без свободного места на диске
У меня есть одна таблица, которая занимает около 90% дискового пространства на нашем сервере. Я решил оставить несколько столбцов, чтобы освободить место. Но мне нужно вернуть место под ОС. Проблема, однако, в том, что я не уверен, что произойдет, если я запусту VACUUM FULL и не хватит свободного места, чтобы …

2
Изменение столбца с NOT NULL на NULL - что происходит под капотом?
У нас есть таблица с 2,3B строк в нем. Мы хотели бы изменить столбец с NOT NULL на NULL. Столбец содержится в одном индексе (не кластерный или PK-индекс). Тип данных не меняется (это INT). Просто обнуляемость. Утверждение следующее: Alter Table dbo.Workflow Alter Column LineId Int NULL Операция переваливает за 10, …

6
Изменить таблицу в живых производственных базах
Этот вопрос был перенесен из переполнения стека, поскольку на него можно ответить в Exchange Stack Exchange для администраторов баз данных. Мигрировал 7 лет назад . Как наиболее «популярная» (MySQL, Postgres ...) система баз данных обрабатывает изменение таблиц в действующих производственных базах данных (например, добавление, удаление или изменение типа столбцов)? Я …

3
Как добавить столбец версии строки в большую таблицу с минимальным временем простоя
Используя SQL Server 2008 и более поздние версии, я хочу добавить столбец rowversion в большую таблицу, однако, когда я просто ALTER TABLE [Tablename] ADD Rowversion [Rowversion] NOT NULL Тогда таблица будет недоступна для обновления слишком долго. Какие стратегии я могу использовать, чтобы уменьшить это время простоя? Я все рассмотрю. Чем …

4
Таблицы, оптимизированные для памяти - их действительно сложно поддерживать?
Я исследую преимущества обновления с MS SQL 2012 до 2014 года. Одна из главных особенностей SQL 2014 - это оптимизированные для памяти таблицы, которые, очевидно, делают запросы очень быстрыми. Я обнаружил, что есть несколько ограничений для таблиц, оптимизированных для памяти, таких как: Нет (max)размеров полей Максимум ~ 1 КБ на …

3
Почему я бы предпочел ALGORITHM = COPY вместо ALGORITHM = INPLACE?
С тех пор как в MySQL 5.6 был введен интерактивный DDL, ALTER TABLEкоманда может иметь либо одну, ALGORITHM=INPLACEлибо ALGORITHM=COPYуказанную. Обзор онлайн DDL отмечает , что, по умолчанию, INPLACEиспользуется везде , где это возможно, и предполагает (никогда не вполне изложив его) , что INPLACEалгоритм дешевле , чем COPYодин. Так какую причину …


3
Сбросить значение IDENTITY
У меня есть таблица со столбцом IDENTITY. В процессе разработки я время от времени удаляю строки и добавляю их снова. Но значения IDENTITY всегда увеличивались и не начинались с 1, когда я снова их добавлял. Теперь мой идентификатор идет от 68 -> 92, и это приводит к сбою моего кода. …

2
База данных «заморожена» на ALTER TABLE
Наша производственная среда просто замерла сегодня утром на некоторое время, изменяя таблицу, фактически добавляя столбец. Оскорбляющий SQL:ALTER TABLE cliente ADD COLUMN topicos character varying(20)[]; * Для входа в нашу систему требуется выбрать из той же таблицы, чтобы никто не мог войти во время изменения таблицы. На самом деле нам пришлось …

1
Нужно ли удалять уникальный индекс при изменении размера столбца nvarchar? И будет ли таблица заблокирована при воссоздании индекса?
В нашей базе данных существует большая таблица, которая более или менее выглядит так: CREATE TABLE dbo.production_data ( pd_id BIGINT PRIMARY KEY, serial NVARCHAR(16) NOT NULL UNIQUE, ... ); но теперь размер последовательного поля стал слишком низким, поэтому я хочу изменить его на 32. Средство сравнения схем Visual Studio предлагает сделать …

3
ALTER TABLE для большой таблицы с индексированным столбцом
У меня есть большая таблица со столбцом VARCHAR (20), и мне нужно изменить его, чтобы он стал столбцом VARCHAR (50). Как правило, выполнение ALTER TABLE (добавление TINYINT) для этой конкретной таблицы занимает около 90-120 минут, поэтому я могу сделать это только в субботу или в воскресенье вечером, чтобы избежать влияния …

3
Почему простая команда ALTER TABLE занимает так много времени в таблице с полнотекстовым индексом?
У меня есть большая (~ 67 миллионов строк) таблица имен и значений, которая имеет полнотекстовую индексацию по DataValueстолбцу. Если я попытаюсь запустить следующую команду: ALTER TABLE VisitorData ADD NumericValue bit DEFAULT 0 NOT NULL; Он выполняется в течение 1 часа 10 минут и по-прежнему не завершается для VisitorDataтаблицы, содержащей ~ …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.