При работе с таблицами
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.
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.
© 1995-2005 MySQL AB. All rights reserved.
