7.5.13 Обработка ошибок | Оглавление | 7.5.15 Контактная информация для получения данных по InnoDB |
SHOW TABLE STATUS
не выдает точных статистических данных по
таблицам InnoDB, за исключением размера физического пространства,
зарезервированного для таблицы. Подсчет строк производится
приблизительно так, как в оптимизации SQL.
CREATE TABLE T (A CHAR(20), B INT, UNIQUE (A(5))) TYPE = InnoDB;Если на префиксе столбца создать неуникальный индекс, InnoDB создаст индекс по всему столбцу.
INSERT DELAYED
.
LOCK TABLES
не знает про блокировки InnoDB на уровне
строк в уже выполненном операторе SQL: это означает, что можно
установить блокировку на таблицу, даже если существуют транзакции
других пользователей, которые установили блокировку этой же таблицы на
уровне строк. Таким образом, может оказаться, что ваши операции над
таблицей будут вынуждены ожидать, если такая блокировка будет
установлена другими пользователями: возможна также и взаимоблокировка.
Тем не менее, это не угрожает целостности транзакций, так как при
установке блокировки на таблицы InnoDB всегда соблюдается целостность.
Кроме того, блокировка таблицы не позволяет другим транзакциям
установить на таблицу дополнительные блокировки на уровне строки (в
режиме несовместимости блокировок).
BLOB
или TEXT
.
DELETE FROM TABLE
не пересоздает таблицу, она удаляет все
строки по одной, что осуществляется не очень быстро. В будущих версиях
MySQL можно будет использовать команду TRUNCATE
, которая намного
быстрее.
BLOB
и TEXT
могут
достигать 4 Гб, общая длина строк также не должна превышать 4 Гб.
Поля с размером меньше или равным 128 байтам в InnoDB не хранятся на
отдельных страницах. После того как InnoDB изменит строку, сохранив
длинные поля на отдельных страницах, оставшаяся длина строки должна
быть меньше половины страницы базы данных. Максимальная длина ключа -
7000 байтов.
7.5.13 Обработка ошибок | Оглавление | 7.5.15 Контактная информация для получения данных по InnoDB |