ТОП-10 популярных


НОУТБУК с блестящим экраном
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...


Для работы с вещественными числами в MySQL предусмотрено три типа данных - это типы FLOAT, DOUBLE, DECIMAL. Числовой тип FLOAT...

Магнито-оптический дисковод DynaMO
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...

БОЛЬШЕ БОЛЬШИХ LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...

Больше больших LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...


Какую только информацию мы не помещаем на компакт-диски: резервные копии важных данных, музыку, фильмы... Многие полагают, что главное - «купить...

Иди и пиши. TravelMate C100
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...

Размер объему не помеха.
С тех пор как компания Fujitsu отказалась от производства жестких дисков для настольных компьютеров, многие пользователи начали забывать о том,...

ПОД ЛИТЕРОЙ «N»
Aтаку LCD-мониторов не остановить, а масштабы этого наступления даже немного пугают. Судите сами — многие пользователи только начинают приглядываться к новому для...

Internet2, или cтарые песни о новом
Когда-то на заре Интернета, тогдаеще военно-научной сетиAPRAnet, были заложены основныепринципы функционирования«Сети сетей». В их числе — использованиепротокола, называемого сейчасIPv4. В...

Все о MySQL. Типы таблиц


28-12-2009

После указания определений полей и всех модификаторов, MySQL позволяет задать тип с помощью необязательного атрибута TYPE. Рассмотрим пример.
Типы таблиц
 В распоряжении разработчика баз данных имеется множество различных типов, каждый из которых имеет определенные преимущества. Детальнее различные типы таблиц обсуждаются в следующих разделах. 
Таблицы MylSAM
Формат таблиц MyISAM (TYPE = MYISAM) является доработанным и улучшенным вариантом изначального типа ISAM. Сейчас он является стандартным типом таблиц MySQL. Таблицы MyISAM оптимизированы по степени сжатия и скорости работы и переносимы между различными типами операционных систем и платформ (например, одна и та же таблица MyISAM может использоваться как в ОС Windows, так и в ОС UNIX). Формат MyISAM поддерживает таблицы больших размеров (более 4 Гбайт) и позволяет индексировать по столбцам типа BLOB и ТЕХТ. Для экономии дискового пространства таблицы и индексы могут сжиматься - совсем не лишняя возможность при хранении больших полей типа BLOB или ТЕХТ. Поля типа VARCHAR имеют фиксированную или регулируемую динамически длину в зависимости от хранящихся в них данных. Кроме того, этот формат позволяет производить выборку как по префиксу ключа, так и по всему ключу.
Таблицы MyISAM оптимизированы для работы с MySQL и могут иметь фиксированную или динамически изменяющуюся длину. MySQL автоматически проверяет повреждение таблиц MyISAM во время запуска и может восстанавливать их в случае обнаружения ошибок. Файлы таблиц и табличных индексов могут храниться в различных местах (или даже в различных файловых системах). А дефрагментация обеспечивает повышенный коэффициент производительности даже для таблиц с большим числом добавлений, обновлений и удалений.
Обеспечивая совместимость
В MySQL предусмотрен дескриптор таблиц ISAM, необходимый прежде всего для обеспечения совместимости с устаревшими таблицами. Но на практике следует избегать создания таблиц, использующих этот формат, т.к. новые форматы MyISAM и InnoDB уже значительно улучшены почти по всем характеристикам.

Таблицы ISAM
Таблицы ISAM (ТУРЕ = ISAM) аналогичны таблицам MyISAM, хотя в них значительно меньше доработок, улучшающих рабочие характеристики. Так как индексы таблиц ISAM не сжимаются, они используют меньше системных ресурсов, чем их "собратья" MyISAM. Для индексов ISAM требуется больше дискового пространства, что может вызывать проблемы при работе в маломощных операционных средах.
Подобно таблицам типа MyISAM, ISAM-таблицы могут иметь столбцы фиксированной или переменной длины, но максимальная длина ключа в случае применения формата ISAM меньше. Этот формат не работает с таблицами, длина которых превышает 4 Гбайт, и таблицы данного формата непереносимы между различными платформами. Кроме того, формат ISAM более подвержен фрагментации, снижающей скорость обработки запросов, и характеризуется ограниченной поддержкой компрессии индексов/данных.
Таблицы HEAP
Таблицы HEAP (TYPE = HEAP) - это таблицы, которые размещаются в оперативной памяти с использованием хешированных индексов, благодаря которым повышается скорость работы (независимые оценки свидетельствуют о том, что при обработке запросов INSERT они работают на 30% быстрее, чем аналогичные таблицы типа MyISAM). Работать с ними можно так же, как и с обычными таблицами типа MyISAM или ISAM. Однако хранящиеся в них данные доступны только во время работы сервера MySQL и пропадают при остановке этого сервера. Несмотря на то, что таблицы HEAP дают несомненный выигрыш в производительности, на практике они используются довольно редко вследствие их функциональных ограничений. 

Недостаток оперативной памяти
Вследствие того, что объем таблиц типа HEAP ограничен только объемом оперативной памяти, MySQL снабжен встроенной защитой от непреднамеренного использования таблицами этого типа всей имеющейся в системе оперативной памяти. Таблицы HEAP не поддерживают столбцы типа BLOB и ТЕХТ, и размеры этих таблиц не могут превышать заданных переменной max_heap_table_size. Размер таблицы НЕАР может также быть задан путем добавления свойства MAXROWS в оператор CREATE TABLE:
CREATE TABLE heapexample (id INT(4), title VARCHAR(24)) TYPE=HEAP MAX_ROWS=10;

Понравился материал? Поделитесь с друзьями!



<< Предыдущая статьяСледующая статья >>
Все о MySQL. Сообщение об ошибке. Продолжение. Все о MySQL. Таблицы BerkeleyDB