З MySQL, як довго працює "ALTER TABLE ... KEYS DISABLE KEYS;" заява остання?


12

Якщо ви вимкнете ключі (призупинивши індексацію) у таблиці mysql INNODB, як довго триває це налаштування?

Для запиту типу:

ALTER TABLE users DISABLE KEYS;

Чи ввімкнено клавіші знову в кінці сценарію? чи тривають вони, поки явно не ввімкніть індексацію?


Це запитання заслуговує +1, щоб допомогти іншим усвідомити щось про ОСНОВНІ КЛЮЧІ, БЕЗКОШТОВНІ КЛЮЧІ та InnoDB.
RolandoMySQLDBA


Відповіді:



6

Насправді АЛЬТЕР ТАБЛИЦІ ... КЛАВИ ДИБАЛЬНИХ ТА АЛЬТЕР ТАБЛИЦІ ... РОЗКЛАДНІ КЛЮЧИ не працюють !!!!

Я звернувся до цього ще 13 лютого 2011 року.

Я зробив декілька додаткових копань і дізнався від материнської компанії InnoDB, InnoBase Oy (до того, як це зробили 7 з 9 в Oracle Borg), що це дійсно так.

Це посилання пропонує робити ОСНОВНІ КЛЮЧІ та відключати сторонні ключі разом. Хоча я вважаю, що і те, і інше непотрібне, це, мабуть, працювало для когось.

ОНОВЛЕННЯ 2011-07-18 12:35 EDT

Це дуже гарне питання, оскільки воно викриває зло, яке залишилося в MySQL. Програма mysqldump сліпо скидає DISABLE KEYS і ENABLE KEYS навколо створення та завантаження над кожною таблицею, не зважаючи на механізм зберігання даних. Оскільки DISABLE KEYS та ENABLE KEYS не працюють (в кращому випадку не впливають) на таблиці InnoDB, оскільки вони належним чином працюють для MyISAM, цей невідомий факт повинен бути краще задокументований спільнотою MySQL. О так, MySQL знаходиться в середині Галактичної імперії, відомої як Oracle. Я не буду затримувати дихання над майбутніми змінами документації.


3
Зробити заяву - одне. Викрикувати це, використовуючи як кепки, так і жирне, є дещо надмірним і зовсім непотрібним.
John Gardeniers

1
@John: Вибачте, я здаюся надто захопленим. Я ні на кого не гніваюся. ALTER TABLE DISABLE / ENABLE KEYS щодо InnoDB недостатньо задокументовано. Oracle також не збирається покращувати речі.
RolandoMySQLDBA

@RolandoMySQLDBA Чи є якесь рішення, щоб уникнути того, щоб mysqldump помістив DISABLE KEYS та ENABLE KEYS у дамп-файл?
pahnin
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.