В обзоре "MySQL Storage Engines (http://www.linuxplanet.com/linuxplanet/tutorials/6034/1/)" рассмотрена функциональность и особенности таких типов хранилищ MySQL, как:
- MEMORY - все данные в ОЗУ, после рестарта сервера данные теряются. Подходит для создания временных или кеширующих таблиц;
- MyISAM - отличная скорость на чтение, но нет транзакций и не эффективные локи (на таблицу целиком). Рекомендуется когда 90% запросов на чтение;
- MERGE - объединение нескольких таблиц одинаковой структуры в одну. Может применяться для хранения логов, например, новая таблица в день;
- FEDERATED - работа с таблицами на удаленном сервере как с локальными, MySQL при этом работает как прокси;
- ARCHIVE - для создания архивов, данные хранятся в сжатом виде, возможны только операции INSERT и SELECT, обновление данных невозможно;
- CSV - данные хранятся не в бинарном формате, а в текстовом CSV (Command Separated Values), индексы не поддерживаются. Подходит для обмена данными с внешними программами;
- BLACKHOLE - аналог /dev/null, назначение - тестирование конструкций;
- ISAM - устарело, на смену пришел MyISAM;
- BDB - хранилище через Berkeley DB, поддерживаются транзакции, локи на 8Кб блоки данных, ориентировано на хранение небольших блоков вида ключ-значение;
- InnoDB - наиболее функциональный тип, поддерживает все возможности MyISAM + транзакции + локи на отдельную запись в таблице.
Также показано как посмотреть список поддерживаемых хранилищ (команды show engines и show variables like "have_%";) и как осуществить пересборку для добавления недостающего.
URL: http://www.linuxplanet.com/linuxplanet/tutorials/6034/1/
Новость: http://www.opennet.me/opennews/art.shtml?num=6226