- •Обмен данными с внешними системами
- •Текстовые и двоичные типы
- •Перечисления
- •Механизм хранения MylSam
- •Механизм хранения InnoDb
- •Механизм хранения Archive
- •Механизм хранения Federated
- •Механизм хранения Memory
- •Механизм хранения csv
- •Механизм хранения merge
- •Индекс fulltext
- •Компоненты sql Server 2005
- •Microsoft sql Server 2005. Объекты базы данных
- •InnoDb - основной движок для MySql, который с версии 5.5 наконец-то сделали дефолтным. Поддерживает транзакции, репликацию, построчную блокировку. Достаточно устойчив к сбоям.
- •XtraDb - расширенная и исправленная в некоторых проблемных местах InnoDb от компании Percona.
Перечисления
В ситуациях, где значение графы необходимо выбирать из предопределенного (заданного) списка значений, MySQL позволяет обратиться к типам данных ENUM и SET. При использовании обоих этих типов данных список предопределенных значений должен включаться в определение типа. Определение графы ENUM может содержать до 65 536 элементов, а определение графы SET — до 64 элементов.
Если графа помечена ENUM, то для нее может быть выбрано только одно из предопределенных значений, в то время как для графы SET допускается выбор нулевого значения, а также одного или более из предопределенных значений. Графы ENUM наилучшим образом подходят для независимых значений. Так, например, определение ENUM ('red', 'green', 'yellow') заставляет вставить любое из этих трех значений, тогда как определение SET (' mоп', ' tue', 'wed', ' thu', ' fri') допускает вставку ни одного, одного либо всех пяти значений. Кроме того, значения SET сохраняются в виде битов, что позволяет выполнять в отношении них поразрядные операции сравнения и сортировки.
При выборе типа данных нужно принимать во внимание следующие факторы:
диапазон и тип значений, которые будут содержаться в графе;
типы вычислений, выполнять которые предполагается с участием хранящихся в графе значений;
как данные будут форматироваться при выводе на экран;
как данные будут сортироваться и сравниваться с теми, что располагаются в других графах;
доступные подтипы для каждой графы и эффективность их хранения.
Выбор механизмов хранения для таблиц
Тип |
Описание |
ISAM |
Устаревший механизм |
MYISAM |
Доработанная версия механизма ISAM с поддержкой граф с динамической длиной |
INNODB |
ACID-совместимый транзакционный механизм с поддержкой внешних ключей |
MEMORY |
Механизм на основе памяти с поддержкой хэш-индексов |
CSV |
Тестовый механизм для наборов записей CSV |
ARCHIVE |
Механизм с функцией сжатия для больших наборов данных |
FEDERATED |
Механизм для удаленных таблиц |
NDB |
Механизм для кластеризованных таблиц |
MERGE |
Механизм для таблиц, подвергнутых слиянию |
Механизм хранения MylSam
Механизм хранения MylSAM — это расширение базового механизма ISAM, включающее дополнительные оптимизаторы и улучшения, он также является типом таблиц MySQL, используемым по умолчанию. Таблицы MylSAM оптимизированы для сжатия и скорости работы, при этом они могут переноситься из одной ОС и платформы на другую (например, одна и та же таблица MylSAM может использоваться как в Windows, так и в UNIX). Формат MylSAM поддерживает табличные файлы большого размера (до 256 Тбайт) и позволяет индексировать графы BLOB и TEXT. Таблицы и их индексы могут подвергаться сжатию с целью экономии пикового пространства, что придется кстати при сортировке больших граф BLOB или TEXT. Можно ограничить длину граф VARCHAR либо подстраивать этот параметр динамически в зависимости от того, какие данные в них помещаются, при этом вы также сможете осуществлять поиск записей с использованием любого префикса ключа либо всего ключа целиком.
Таблицы MylSAM оптимизированы под MySQL, поэтому разработчики предусмотрели для них ряд интеллектуальных опций.
Таблицы MylSAM могут иметь как фиксированную, так и переменную длину.
MySQL автоматически проверяет таблицы MylSAM на предмет повреждения при загрузке п даже может восстанавливать их в случае обнаружения ошибок.
Файлы данных и индексов таблиц могут располагаться в разных местах или даже в разных файловых системах.
Логика интеллектуальной дефрагментации обеспечивает высокую производительность даже для таблиц, в которых интенсивно выполняются операции вставки, обновления и удаления.
Большие таблицы MylSAM также могут сжиматься, или упаковываться, при помощи MySQL-утилиты myisampack, превращаясь в менее крупные таблицы только для чтения, занимающие меньше дискового пространства.
