Предупреждение:
НЕЛЬЗЯ
преобразовывать системные
таблицы MySQL из формата MyISAM в
формат InnoDB! Эта операция не
поддерживается, и если
попытаться ее осуществить, MySQL не
перезапустится, пока не будут
восстановлены старые системные
таблицы из резервной копии, или
пока не будут созданы новые
таблицы при помощи скрипта
mysql_install_db.
Команда SHOW TABLE STATUS не
выдает точных статистических
данных по таблицам InnoDB, за
исключением размера физического
пространства,
зарезервированного для таблицы.
Подсчет строк производится
приблизительно так, как в
оптимизации SQL.
Если попытаться создать уникальный индекс на префиксе столбца, то будет выдана ошибка:
CREATE TABLE T (A CHAR(20), B INT, UNIQUE (A(5))) TYPE = InnoDB;
Если на префиксе столбца создать неуникальный индекс, InnoDB создаст индекс по всему столбцу.
Для таблиц InnoDB не поддерживается
команда INSERT DELAYED.
Операция MySQL LOCK TABLES не
знает про блокировки InnoDB на
уровне строк в уже выполненном
операторе SQL: это означает, что
можно установить блокировку на
таблицу, даже если существуют
транзакции других
пользователей, которые
установили блокировку этой же
таблицы на уровне строк. Таким
образом, может оказаться, что
ваши операции над таблицей будут
вынуждены ожидать, если такая
блокировка будет установлена
другими пользователями:
возможна также и
взаимоблокировка. Тем не менее,
это не угрожает целостности
транзакций, так как при
установке блокировки на таблицы
InnoDB всегда соблюдается
целостность. Кроме того,
блокировка таблицы не позволяет
другим транзакциям установить
на таблицу дополнительные
блокировки на уровне строки (в
режиме несовместимости
блокировок).
Нельзя установить ключ для
столбцов типа BLOB или
TEXT.
Таблица не может содержать больше 1000 столбцов.
Команда DELETE FROM TABLE не
пересоздает таблицу, она удаляет
все строки по одной, что
осуществляется не очень быстро.
В будущих версиях MySQL можно будет
использовать команду
TRUNCATE, которая намного
быстрее.
Принятый по умолчанию размер
страницы в InnoDB составляет 16 Кб.
Повторно скомпилировав код,
можно установить значение от 8 Кб
до 64 Кб. В версиях <= 3.23.40 InnoDB
максимальная длина строки
несколько меньше половины
размера страницы базы данных.
Начиная с релиза исходного кода
версии 3.23.41 столбцы типов
BLOB и TEXT
могут достигать 4 Гб, общая длина
строк также не должна превышать 4
Гб. Поля с размером меньше или
равным 128 байтам в InnoDB не
хранятся на отдельных страницах.
После того как InnoDB изменит
строку, сохранив длинные поля на
отдельных страницах, оставшаяся
длина строки должна быть меньше
половины страницы базы данных.
Максимальная длина ключа - 7000
байтов.
В некоторых операционных системах файлы данных не должны превышать 2 Гб. Общий размер файлов журналов должен быть меньше 4 Гб.
Максимальный размер табличной области составляет 4 миллиарда страниц базы данных. Это также максимальный размер таблицы. Минимальный размер табличной области составляет 10 Мб.
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.
