Поддержка JavaScript отключена
SBP-Program | |||||
На главную — > Базы данных |   | ||||
  |
MySQLВ MySQL возможно применять несколько типов таблиц:
Чтоб узнать какие типы таблиц поддерживаются в MySQL нужно выполнить запрос: show engines
Тип таблиц MyISAM применяется в MySQL по умолчанию. Пример создания таблицы типа MyISAM: CREATE TABLE isamTable
( isam_ID INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, isam_Name CHAR(100)) ENGINE = MyISAM; т.к. MyISAM применяется по умолчанию, то ENGINE = MyISAM можно было опустить, но делать так не рекомендуется, ведь могут измениться правила и по умолчанию будут использовать иной тип таблиц. Получаем в каталоге базы данных: ![]() Создав таблицу типа MyISAM, мы получили три файла. Первый файл isamtable.frm содержит информацию о структуре таблицы. Файл isamtable.MYD (MYData) хранит данные таблицы, сейчас в таблице нет данных. Третий файл isamtable.MYI (MYIndex) хранит индексы таблицы. Таблицы типа MyISAM не поддерживают транзакции,. Блокировка осуществляется на уровне таблицы, а не строки, т.е. когда строка изменяется (update) или новая строка вставляется (insert) блокируется вся таблица до завершения данной операции. Нет поддержки внешних ключей. Колонка с AUTO_INCREMENT может быть только одна. Допускается null в индексированной колонке. Возможно использование разных кодировок в колонках одной таблицы. В индексном файле имеется флаг, фиксирующий правильно ли была закрыта таблица, если нет, то при следующем открытии таблицы сервер будет её восстанавливать. MyISAM хорошо работает с запросами select. MyISAM работает быстро и потребляет мало системных ресурсов. Пример создания таблицы типа InnoDB: CREATE TABLE innoTable
( inno_ID INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, inno_Name CHAR(100)) ENGINE = InnoDB; Получаем: ![]() Создан файл innotable.frm, в котором содержится информация о структуре таблицы. Данные таблиц такого типа храняться общих файлах, а не каждая таблица в отдельном файле, как это делается для MyISAM. Таблицы типа InnoDB поддерживают транзакции. Можно использовать внешние ключи. Блокировка осуществляется на уровне строки, а не таблицы, как это делается для MyISAM. Таблицы InnoDB имеют высокую производительность. Операции вставки (insert) и обновления (update) выполняются с большой скоростью. У типа InnoDB нет ограничений на размер таблицы. В случае сбоя в работе таблица InnoDB воостановится автоматически.Select работает быстрее в MyISAM, чем в InnoDB. Тип таблиц ARCHIVE применяется для хранения в сжатом виде больших объемов данных без индексов. Нет предела на объём хранимой информации. Внешние ключи не поддерживаются. Транзакции не поддерживаются. Блокировка на уровне строки. Программирование |
  | |||
 
|
 
|
||||