|
Справочное руководство по MySQL7.2.1 Проблемы при работе с таблицами MERGE
7.2.1 Проблемы при работе с таблицами MERGE
При работе с таблицами MERGE могут возникать следующие проблемы:
-
Для таблицы
MERGE не могут поддерживаться ограничения UNIQUE по всей
таблице. При выполнении команды INSERT данные помещаются в первую или
последнюю таблицу (в соответствии с INSERT_METHOD=xxx ) и для этой
таблицы MyISAM обеспечивается однозначность данных, но ей ничего не
известно о первой таблице MyISAM .
-
Команда
DELETE FROM merge_table без оператора WHERE очищает только
распределение для таблицы, ничего не удаляя из преобразованных таблиц.
-
Использование команды
RENAME TABLE над активной таблицей MERGE может
привести к повреждению таблицы. Эта ошибка будет исправлена в MySQL
4.0.x.
-
При создании таблицы типа
MERGE не проверяется совместимость типов
базовых таблиц. Создав таблицу MERGE на основе несовместимых типов, вы
можете столкнуться с непредсказуемыми проблемами.
-
Если для первого добавления индекса
UNIQUE в таблицу, преобразованную
в MERGE , используется команда ALTER TABLE , а затем командой ALTER
TABLE в таблицу MERGE добавляется нормальный индекс, порядок ключей
для таблиц будет разным, если в таблице был старый не однозначный
ключ. Это происходит потому, что команда ALTER TABLE помещает ключи
UNIQUE перед нормальными ключами, чтобы как можно раньше обнаружить
дублирующиеся ключи.
-
Оптимизатор диапазона пока не может эффективно использовать таблицу
MERGE , в связи с чем иногда возникают неоптимальные соединения. Это
будет исправлено в MySQL 4.0.x.
Команда DROP TABLE над таблицей, преобразованной в таблицу MERGE , не будет
работать под Windows, так как обработчик MERGE скрывает распределение
таблиц от верхнего уровня MySQL. Поскольку в Windows не разрешается
удалять открытые файлы, сначала необходимо сбросить на диск все таблицы
MERGE (при помощи команды FLUSH TABLES ) или удалить таблицу MERGE перед
тем, как удалить таблицу. Эту ошибку мы планируем исправить одновременно с
введением VIEW s.
|
|