webew
Войти » Регистрация
 
MySQL/MariaDB :: оптимизация

Новая оптимизация MyISAM в MySQL 6.0

11 сентября 2008, 15:03
Автор: rgbeast
В шестом MySQL запланирована и уже задокументирована новая оптимизация для традиционного хранилища MyISAM. Называется Index Condition Pushdown Optimization.

Суть оптимизации в том, что некоторые запросы, требующие сканирование всей таблицы (full table scan) могут быть выполнены, сканированием только индекса. В таких случаях MyISAM сканирует весь индекс, находит требуемые записи и вытаскивает их из таблицы. Индекс может храниться в памяти в буффере ключей key_buffer, что приведет к дополнительном ускорению.

Самый простой запрос, который будет оптимизирован таким образом выглядит так:
SELECT * FROM t WHERE sin(id*12.4) > 0.5;

Более реалистичны запросы со сложными условиями, но использующие поля, входящие в индекс.
SELECT id,message,text FROM t WHERE cat=10 AND stats*0.15 + rating > 100 ;
(при наличие индекса KEY(cat, stats, rating) )

Кроме того, индекс может быть использован для проверке части условия (ответная часть условия будет проверена по данным из таблицы, для строк, отвечающих первой части условия).
Добавить комментарий
© 2008—2017 webew.ru, связаться: x собака webew.ru
Сайт использует Flede и соответствует стандартам WAI-WCAG 1.0 на уровне A.
Rambler's Top100