ТОП-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 хранить информацию о каждой записи в этом поле и ее расположении в базе данных. При создании индексов эти таблицы начинают занимать больше места. Далее, индексирование ускоряет поиск, но заметно замедляет такие операции записи, как INSERT, DELETE или UPDATE. Вполне возможно, что первые попытки индексирования не дадут большого прироста производительности.
Контролировать и определять кандидатов на индексирование помогут счетчики. Команды SHOW STATUS и расширенные команды состояния mysqladmin выдают значения, имеющие отношение к индексам.
■ При работающих индексах значение счетчика Handler_read_key должно быть большим. Это значение отображает количество чтений строк с помощью индекса. Небольшое значение указывает на небольшое увеличение производительности после добавления индекса, так как он не используется часто.
■ Большое значение счетчика Handler_read_rnd_next свидетельствует о том, что ваши запросы выполняются неэффективно, а решением проблемы может быть индексирование. Это значение указывает количество последовательных запросов чтения следующей строки в последовательности. Это происходит когда для вы­полнения запроса таблица последовательно сканируется с начала до конца от первой записи до последней. При частых запросах это довольно неразумное использование ресурсов. Ассоциированный индекс прямо указывает на запись (или записи), и полное сканирование таблицы при этом не нужно. Заметьте, что плохо работающие индексы тоже могут привести к увеличению этого значения.
Чтобы просмотреть эти счетчики, запустите команду.
Оптимизация производительности
После заполнения таблиц данными и их индексирования их должным образом, необ­ходимо запустить команду ANALYZE TABLE. Эта команда анализирует данные в таблице и создает статистику по среднему количеству строк, которые используют одинаковые значения. Эта информация используется оптимизатором MySQL при принятии решения, какой индекс использовать для объединения таблиц.
Оптимизация производительности
Для уверенности в том, что оптимизатор использует самый эффективный индекс, неплохо часто запускать команду ANALYZE TABLE, особенно после добавления в таблицу большого объема данных.
Естественный порядок
Если у вас есть таблица, которая часто читается, но изменяется редко, попробуйте вместо индексирования отсортировать ее. Для этого используются команды OBDER BY и ALTER TABLE. Чтение будет производиться быстрее и эффективнее.

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



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