При подаче запроса SELECT, MySQL 4.x запоминает и сам запрос, и его результаты. Это достигается хранением результатов в специальном кэше (называемом кэшем запросов) при каждом выполнении запроса SELECT. В следующий раз, когда вы сделаете такой же запрос, MySQL вместо того, чтобы снова выполнять запрос, просто извлечет результаты из кэша. Как можно себе представить, это значительно ускоряет процесс.
Хоть кэширование и включено по умолчанию, нелишним будет его проверить, что можно сделать, проверив переменные сервера. Следующий пример подтверждает это.
Проанализируем представленный выше пример.
■ Первое значение, have_query_cache, указывает, что при установке сервер настроен на кэширование запросов (по умолчанию).
■ Значение query_cache_size равно 48, и это означает, что под кэш выделено 48 Мбайт. Если значение равно 0, то это свидетельствует об отключении кэширования.
■ Значения query_cache_type варьируются от 0 до 2. Значение 0 или OFF указывает, что кэширование запросов отключено. Значения ON или 1 - кэширование запросов включено, за исключением операторов SELECT, использующих опцию SQL_NO_CACHE. Значение DEMAND или 2 предоставляет кэширование по запросу для операторов SELECT, работающих с опцией SQL_CACHE.
Чтобы посмотреть, какое воздействие кэширование запросов оказывает на производительность, запустите один и тот же запрос с кэшированием, а затем без него. Ниже представлена версия с использованием кэширования запросов.
Повышение производительности вполне закономерно, поскольку включено кэширование частых запросов.
Заметьте, что как только таблица была изменена, использующие эту таблицу кэши-рованные запросы становятся неверными и удаляются из кэша. Это не позволяет запросу возвращать неточные данные из старой таблицы. Хотя это и увеличивает пользу от кэширования, постоянно изменяющаяся таблица не получает никаких преимуществ. В такой ситуации вы, возможно, захотите устранить кэширование запросов. Для этого следует добавить к оператору SELECT параметр SQL_NO_CACHE, как показано выше.
ТОП-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. Анализ запросов |