Запитання з тегом «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% hd місця на нашому сервері. Я вирішив скинути кілька стовпців, щоб звільнити місце. Але мені потрібно повернути простір в ОС. Проблема, однак, полягає в тому, що я не впевнений, що станеться, якщо я запускаю VACUUM FULL і не вистачає вільного місця, …

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

6
Змініть таблицю на базі даних живого виробництва
Це запитання було перенесено із переповнення стека, оскільки на нього можна відповісти в адміністраторі баз даних Stack Exchange. Мігрували 7 років тому . Як більшість "популярних" (MySQL, Postgres ...) системних баз обробляють зміни таблиць на базах даних в реальному виробництві (наприклад, додавання, видалення або зміна типу колон)? Я знаю, що …

3
Як я можу додати стовпчик "реверсія" до великої таблиці з мінімальним простоєм
Використовуючи SQL Server 2008 і пізніші версії, я хочу додати стовпчик версії до великої таблиці, проте просто ALTER TABLE [Tablename] ADD Rowversion [Rowversion] NOT NULL Тоді таблиця занадто довго недоступна для оновлень. Які стратегії я можу використовувати для скорочення цього простою? Я буду розглядати що завгодно. Чим простіше, тим краще, …

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

3
Чому я коли-небудь віддаю перевагу ALGORITHM = КОПІЯ перед ALGORITHM = INPLACE?
Оскільки MySQL 5.6 представив онлайн-DDL, ALTER TABLEкоманда може необов'язково мати ALGORITHM=INPLACEабо ALGORITHM=COPYвказати. Огляд онлайн DDL зазначає , що, за замовчуванням, INPLACEвикористовується всюди , де це можливо, і передбачає (ніколи не цілком виклавши його) , що INPLACEалгоритм дешевше , ніж COPYодин. Отже, яку причину мені колись доведеться вказати ALGORITHM=COPYу ALTER TABLEзаяві?

1
Чому додається стовпець NOT NULL з обмеженням за замовчуванням миттєвим?
CREATE TABLE TestTab (ID INT IDENTITY(1,1), st nvarchar(100)) INSERT INTO TestTab (st) values ('a') INSERT INTO TestTab (st) values ('b') INSERT INTO TestTab (st) values ('c') INSERT INTO TestTab (st) values ('d') INSERT INTO TestTab (st) values ('e') INSERT INTO TestTab (st) SELECT TOP 10000 st from testtab GO 30 …

3
Скинути значення IDENTITY
У мене є таблиця зі стовпцем Ідентичність. Під час розвитку я періодично видаляю рядки і додаю їх знову. Але значення IDENTITY завжди збільшувались і не починалися з 1, коли я знову додавав їх. Тепер мій ідентифікатор йде з 68 -> 92, і це руйнує мій код. Як скинути значення IDENTITY?

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 пропонує зробити це шляхом: DROP …

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таблиці, що містить ~ 67 мільйонів …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.