17.22 Ограничения InnoDB
В этом разделе описаны ограничения хранилища InnoDB.
-
Нельзя создать таблицу со столбцом, имя которого совпадает с именем внутреннего столбца
InnoDB(включаяDB_ROW_ID,DB_TRX_IDиDB_ROLL_PTR). Это ограничение распространяется на использование имен в любом регистре.mysql>
CREATE TABLE t1 (c1 INT, db_row_id INT) ENGINE=INNODB;ERROR 1166 (42000): Incorrect column name 'db_row_id' SHOW TABLE STATUSне предоставляет точную статистику для таблицInnoDB, за исключением физического размера, зарезервированного таблицей. Количество строк — это лишь приблизительная оценка, используемая в оптимизации SQL.-
InnoDBне сохраняет внутренний подсчёт строк в таблице, так как одновременные транзакции могут “видеть” разное количество строк в одно и то же время. Вследствие этого, операторыSELECT COUNT(*)учитывают только строки, видимые текущей транзакции.Для получения информации о том, как
InnoDBобрабатывает операторыSELECT COUNT(*), обратитесь к описаниюCOUNT()в Разделе 14.19.1, «Описание функций агрегирования». ROW_FORMAT=COMPRESSEDне поддерживается для размеров страниц, превышающих 16 КБ.MySQL-инстанс, использующий определенный размер страницы
InnoDB(innodb_page_size), не может использовать файлы данных или журнальные файлы из инстанса, использующего другой размер страницы.Ограничения, связанные с импортом таблиц с помощью функции Транспортируемые табличные пространства, см. в Ограничения на импорт таблиц.
Ограничения, связанные с онлайн-DDL, см. в Разделе 17.12.8, «Ограничения онлайн-DDL».
Ограничения, связанные с общими табличными пространствами, см. в Ограничения общих табличных пространств.
Ограничения, связанные с шифрованием данных в покое, см. в Ограничения шифрования.
© 2025 Oracle
Licensed under the GPLv2 License.