ТОП-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.
Допустимые значения
Диапазон и типы значений, которые допустимы для размещения в поле, является наиболее важным фактором, в соответствии с которым выбирается тип данных для определенного поля. Например, при определении типа данных для столбца, в котором будут храниться складские цены, вы вряд ли прибегнете к строковому или календарному типу. Это скорее всего должен быть один из числовых типов - FLOAT или DECIMAL, в зависимости от точности. Аналогично, для хранения дат дней рождения лучше всего подойдет тип DATE, а не какой-нибудь тип VARCHAR с необходимостью последующей обработки значений для дней, месяцев и годов.
Эффективность хранения
Не менее важно, особенно тогда, когда речь идет о цифровых типах, учитывать диапазон возможных величин для полей. Например, при создании столбца для хранения возраста всех пользователей, работающих с системой, очевидно, что значения для этого поля всегда будут лежать в диапазоне чисел 0 - 255. В таком случае неэффективно для этого поля пользоваться типом INT или BIGINT, т.к. для такого диапазона чисел вполне достаточно типа UNSIGNED TINYINT, который занимает меньше места - всего 1 байт, вместо 4 или 8 байтов.
Аналогичная логика применима и для строковых значений. Зная, например, что определенное поле будет содержать, строку, содержащую два символа (скажем, коды штатов США), имеет смысл задействовать тип CHAR с индексом 2, а не TEXT или BLOB, для которых потребуется значительно больше места, чем требуется для хранения необходимой информации, не добавляя при этом никаких дополнительных возможностей. Аналогично, если априори известно, что допустимые значения принадлежат к определенному набору значений, это будет подсказкой для выбора типа ENUM или SET.
Требования к форматированию и отображению
Другим важнейшим фактором, влияющим на выбор типа поля, являются требования к форматированию и отображению данных, предъявляемые к данным этого поля на прикладном уровне. Например, если строка должна всегда иметь определенную длину, уместно будет воспользоваться типом CHAR, который автоматически добавляет пробелы везде, где это необходимо. (Для цифровых данных, эквивалентом этого является модификатор ZEROFILL, который для заполнения использует нули.) Аналогично, если вам необходимы числа, которые будут всегда отображаться с четырьмя цифрами после запятой, можно воспользоваться типом DECIMAL, который позволяет задавать точность сохраняемых им значений.
Форматирование также играет существенную роль при работе с календарными датами и временем. В зависимости от того, какие задачи будет выполнять разрабатываемая вами система - отображать данные в том виде, в котором они были сохранены, или обрабатываться дальше, - можно выбрать обычный тип DATE, который использует запись даты в понятном для человека формате "YYYY-MM-DD" или в формате "YYYYMMDDHHMMSS", который удобен для программной обработки.

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



<< Предыдущая статьяСледующая статья >>
Все о MySQL. Сложные типы Все о MySQL. Выбор типа данных. Продолжение.