Бази даних · Senior · Запитання 35 з 75
Як додати зовнішній ключ чи перевірку NOT NULL до великої таблиці, не блокуючи запис надовго?
- 1Обмеження можна додавати лише до порожніх таблиць
- ✓Правильна відповідь: Додати обмеження як
NOT VALID(швидко), потім виконатиVALIDATE CONSTRAINT, що перевіряє наявні рядки зі слабшим блокуванням - 3Видалити таблицю й створити заново з обмеженням
Пояснення
Для NOT NULL додайте CHECK (col IS NOT NULL) NOT VALID, перевірте його, потім SET NOT NULL, яке може використати перевірений check і пропустити повне сканування.