Связь и интернет Архив Программирование
   
Сделать стартовойСделать закладку            
   ПОИСК  
   
Главная / MySQL / Типы таблиц MySQL /
8  Perl
8  PHP
8  JavaScript
8  HTML
8  DHTML
8  XML
8  CSS
8  C / C++
8  Pascal и Delphi
8  Турбо Ассемблер
8  MySQL
8  CASE-технологии
8  Алгоритмы
8  Python
8  Обратная связь
8  Гостевая книга
Новости о мире


Таблицы InnoDB - Программирование от RIN.RU
Таблицы InnoDB



Обработка ошибок


  • Если закончилось свободное место в табличной области, будет выдано сообщение об ошибке MySQL 'Table is full' и InnoDB произведет откат оператора SQL.

  • Взаимоблокировка транзакции или истечение времени ожидания при блокировке приводят к откату целой транзакции в InnoDB.

  • Ошибка дублирующегося ключа приводит к откату вставки только этой определенной строки, даже в операторе INSERT INTO ... SELECT .... Этот алгоритм мы, возможно, изменим, с тем чтобы производился откат всего оператора SQL, если для него не указан параметр IGNORE.

  • Ошибка 'row too long' приводит к откату оператора SQL.

  • Большинство остальных ошибок обнаруживается на уровне кода MySQL, и производится откат соответствующего оператора SQL.




Ограничения для таблиц 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 Мб.




Контактная информация для получения данных по InnoDB


Контактная информация компании Innobase Oy, которая создала модель InnoDB: веб-сайт: http://www.innodb.com/, e-mail: Heikki.Tuuri@innodb.com


Телефон: 358-9-6969 3250 (офис) 358-40-5617367 (мобильный)
Innobase Oy Inc.
World Trade Center Helsinki
Aleksanterinkatu 17
P.O.Box 800
00101 Helsinki
Finland

<<<  Назад
 1  2  3  4  5  6  7  8  9  10  11 


 8  Комментарии к статье  8 8  Обсудить в чате

8  В тему

Таблицы MyISAM

Таблицы MERGE

Таблицы ISAM

Таблицы BDB или Berkeley_DB

Таблицы HEAP

 
  
  
    Copyright ©  RIN 2003 - 2004      * Обратная связь