# Главная
# О библиотеке

# Выбор дистрибутива
преимущества Linux/UNIX | основные дистрибутивы | серверный Linux | BSD | LiveCDs | прочее

# Установка и удаление программ
общие вопросы | каталоги софта | специальные случаи

# Настройка и работа
установка, загрузчики | настройка Linux | консоль | файловые системы | процессы | шеллы, русификация, коммандеры | виртуальные машины, эмуляторы

# X Window и оконные менеджеры
настройка X Window | GNOME | KDE | IceWM и др.

# Работа с текстами
редакторы | офис | шрифты, кодировки и русификация | преобразования текстовых файлов | LaTeX, SGML и др. | словари

# Графика
GIMP | фото | обработка изображений | форматы графических файлов

# Сети, администрирование
общие вопросы | Dialup & PPP | брандмауэры | маршрутизация | работа в Windows-сетях | веб-серверы | Apache | прокси-серверы | сетевая печать | прочее

# Программирование
GCC & GNU make | программирование в UNIX | графические библиотеки | Tcl | Perl | PHP | Java & C# | СУБД | CVS | прочее

# Ядро
# Мультимедиа
# Интернет
# Почта
# Безопасность
# Железо
# Разное

# Linux HowTo (как сделать)
# Книги и руководства
# Материалы на английском языке


MySQL The World's Most Popular Open Source Database # Online shop | Site map |  
CompanyProductsSupport & ConsultingTraining & CertificationDownloadsDocumentation
  BooksArticlesMailing ListsPresentationsOther Sites  
Search the MySQL manual:
MySQL Manual
  • 7 Типы таблиц MySQL
    • 7.5 Таблицы InnoDB
      • 7.5.1 Обзор таблиц InnoDB
      • 7.5.2 Параметры запуска InnoDB
      • 7.5.3 Создание табличной области InnoDB
      • 7.5.4 Создание таблиц InnoDB
      • 7.5.5 Добавление и удаление файлов данных и журналов InnoDB
      • 7.5.6 Создание резервных копий и восстановление баз данных InnoDB
      • 7.5.7 Перенесение базы данных InnoDB на другой компьютер
      • 7.5.8 Транзакционная модель InnoDB
      • 7.5.9 Рекомендации по увеличению производительности
      • 7.5.10 Реализация многовариантности
      • 7.5.11 Структуры таблиц и индексов
      • 7.5.12 Управление файловым пространством и дисковый ввод/вывод
      • 7.5.13 Обработка ошибок
      • 7.5.14 Ограничения для таблиц InnoDB
      • 7.5.15 Контактная информация для получения данных по InnoDB

Buy this Reference Manual in softcover from Barnes & Noble!

MySQL Reference Manual
Previous / Next / Up / Table of Contents

7.5.14 Ограничения для таблиц InnoDB

  • Предупреждение: НЕЛЬЗЯ преобразовывать системные таблицы 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 Гб. Общий размер файлов журналов на 32-разрядных компьютерах должен быть меньше 4 Гб.
  • Максимальный размер табличной области составляет 4 миллиарда страниц базы данных. Это также максимальный размер таблицы. Минимальный размер табличной области составляет 10 Мб.

User Comments

Add your own comment.

Top / Previous / Next / Up / Table of Contents
# MySQL.com home | Site map | Contact us | Press | Jobs | Privacy policy | Trademark info | © 1995-2003 MySQL AB. All rights reserved.