ТОП-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

При подаче запроса 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, как показано выше.

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



<< Предыдущая статьяСледующая статья >>
Все о MySQL. Оптимизация производительности. Продолжение. Все о MySQL. Анализ запросов