В контексте сохранения простоты запросов, при разработке структуры таблиц необходимо учитывать несколько моментов. Во-первых, если часто запрашиваемая таблица также часто изменяется, то использование полей постоянной длины по сравнению с переменной длиной позволяет увеличить производительность. По определению поля постоянной длины занимают определенный объем пространства независимо от содержания, а поля переменной длины изменяются в зависимости от хранимых в них данных. Таким образом, при использовании полей постоянной длины, вы вынуждены тратить больше дискового пространства. Однако, если вы преследуете цель повышения скорости обработки данных, MySQL будет производительней при полях постоянной длины, чем переменной.
Если вы, все-таки, будете использовать поля постоянной длины, следите, чтобы размер столбца был минимальным. Например, при создании таблицы лучше просто создать столбец CHAR (255), чем волноваться о том, насколько большим нужно его сделать. На практике для ваших потребностей вам может понадобиться лишь половина этого размера. Уменьшение размера столбца не только освобождает место, но и означает меньше операций ввода/вывода при обработке. Вполне ясно, что полное удаление совсем ненужных столбцов также может повысить производительность.
Еще один способ увеличить производительность - использовать для часто изменяемых таблиц команду OPTIMIZE TABLE (более подробно она описана в главе 15, "Обслуживание, резервное копирование и восстановление"). Частые изменения приводят к фрагментации, что в свою очередь приводит к дополнительным затратам времени на чтение неиспользуемых блоков при получении нужных данных.
При рассмотрении способов увеличения производительности, убедитесь, нужны ли вам все таблицы. Опять-таки, при создании таблицы неплохой идеей было бы разбить данные на отдельные таблицы, но вовлечение дополнительных таблиц приводит к снижению производительности. Можно ли поместить данные в одну таблицу?
Если вы по какой-либо причине не можете это сделать, попробуйте согласовать объединяемые столбцы. Запросы будут производиться эффективнее, если столбцы, по которым происходит объединение, имеют один тип данных и длину.
Фактор размера
Вот подсказка о модифицировании таблиц под использование полей постоянной длины: если столбцу в часто изменяемой таблице нельзя задать постоянную длину, тогда попробуйте переместить этот столбец в отдельную таблицу, а оставшимся столбцам в исходной таблице задать постоянную длину. Хоть это и не всегда срабатывает, но все же такой способ повышения производительности от использования полей постоянной длины считается более рациональным по сравнению с полями переменной длины.
Обратите внимание, что хранение строк в таблицах InnoDB или BDB отличается от хранения в таблицах MylSAM или ISAM. Использование в этих таблицах вместо столбцов постоянного размера столбцов переменного размера не приводит к увеличению производительности.
Ссылки
Оптимизация запросов - это почти целая наука, и ее невозможно изложить в одной главе. Подробнее об этом можно узнать на Web-страницах http://www. mysql.com/doc/en/MySQL_Optimisation.html и http://www.mysql.com/doc/ en/Tips.html
ТОП-10 популярных
Для работы с вещественными числами в MySQL предусмотрено три типа данных - это типы FLOAT, DOUBLE, DECIMAL. Числовой тип FLOAT...
БОЛЬШЕ БОЛЬШИХ LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Больше больших LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
НОУТБУК с блестящим экраном
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...
Иди и пиши. TravelMate C100
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...
Магнито-оптический дисковод DynaMO
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...
Компьютер для гурманов.«Эксимер ДМ»
Российская компания «Эксимер ДМ», известная как производитель настольных компьютеров, рабочих станций, серверов и ноутбуков, выступила техническим спонсором проведения торжеств, посвященных...
Российская компания «Эксимер ДМ», известная как производитель настольных компьютеров, рабочих станций, серверов и ноутбуков, выступила техническим спонсором проведения торжеств, посвященных...
Для длинных строк, т.е. строк длиннее 255 символов, в MySQL предусмотрены типы BLOB (Binary Large Object, большой двоичный объект) и...
В дополнение к календарным типам, предназначенным для хранения даты и времени отдельно, MySQL также поддерживает гибридные типы данных DATETIME и...
Вообще, к изменению настроек сервера прибегают очень редко. В MySQL программа заранее настроена так, чтобы соответствовать самым распространенным и основным...
Все о MySQL. Оптимизация структуры таблиц
28-12-2009
<< Предыдущая статья | Следующая статья >> |
Все о MySQL. Оптимизация многотабличных запросов | Все о MySQL. Изменение настроек сервера |