В настоящие время MySQL поддерживает несколько типов таблиц, это MyISAM, MERGE, ISAM, HEAP, а еще InnoDB и BDB (а также его еще называют Berkeley_DB). Но в данной статье все типы таблиц MySQL затрагивать не будем, а поговорим лишь о первом типе MyISAM.
И так, начиная с MySQL версии 3.23, для всех таблиц тип MyISAM используется по умолчанию. То есть при создание таблицы, если вы явно в коде SQL не указываете для нее тип, ей присваивается тип MyISAM. Приведу небольшой SQL запрос, который создает таблицу в базе данных MySQL, с указанием типа для нее.
Пример запроса:
CREATE TABLE `teble1` (`name` varchar(10) ) ENGINE = MyISAM;
Или еще так можно:
CREATE TABLE `teble1` (`name` varchar(10) ) TYPE = MyISAM;
В запросе с помощью оператора CREATE TABLE мы создаем таблицу с именем teble1. Дали в скобках пишем имена и типы столбцов для этой таблицы. В данном запросе задан лишь один столбец с именем name и типом varchar (кстати, не путайте тип столбца с типом самой таблицы, это абсолютно разные вещи). После списка столбцов, указывается тип самой таблицы, в нашем примере мы указали MyISAM.
Таблицы типа MyISAM можно разбить на три категории. Познакомимся с ними немного поближе.
Первая категория - это статические таблицы. Таблицы этой категории создаются по умолчанию и в них отсуживают столбцы типов VARCHAR, TEXT и BLOB. Статические таблицы являются самыми безопасными, а также при работе с дисками, эти таблицы обладают самой большой скоростью.
Динамическими таблицами называют таблицы, в которых наоборот приличествуют столбцы типов VARCHAR, TEXT и BLOB. Таблицы этой категории более сложнее, чем таблицы предыдущий категории. Так, каждая строка подобной таблицы имеет значение, используя которое, можно задать длину для строк.
Сжатые таблицы можно получить благодаря инструменту myisampack. Так, каждый столбец таблиц этой категории сжимается отдельно, что позволяет экономить память и при работе существенно увеличивается скорость. Но подобные таблицы доступны лишь для чтения.