скорость Merge таблиц

andry

Новичок
скорость Merge таблиц

Столкнулся с одной интересной штукой.

Есть таблица 600 000 записей. Из нее я создал две 400 000 и 200 000 (естесно структура, индексы... все такое же). Из двух сделал одну merge-ом, которая полностью идентична нашей первой таблице. Так вот, скорость запросов по merge-вой таблице оказалась выше(~40%), чем по исходной.

В чем фишка?! Реально должно же быть все наоборот! нет, я конечно рад, просто хочется понять%)
 

andry

Новичок
В них тож смешно. Я конечно знаю, что rows доверять нельзя, но всеже, по merge-вой таблице итоговый rows меньше=). По ключам все также.
 

Апельсин

Оранжевое создание
статистика может отличаться.
таблицу разбили - статистика обновилась.
прежде чем проводить эксперименты неплохо бы на исходной таблице OPTIMIZE и ANALYZE сделать.
 

andry

Новичок
Ну ясно дело, все это я сделал

-~{}~ 09.07.07 16:50:

Для тех, кому обещал разобраться с этой фичей. Многочисленные эксперименты показали, что скорость запросов по merge-вым таблицам действительно хуже (тесты вываливать не буду) и они не зависят от количества ядер проца. Мой прирост производительности объясняется наличием некоторого количества join-ов по ключам. Т.к. убивание join-ов или ключей приводило к резкому скачку в минус, т.е. скорость становилась хуже обычных таблиц. Возможно это как-то связано с http://www.mysqlperformanceblog.com/2007/05/09/merge-tables-gotcha/

Могу добавить лишь одно, скорость запросов по merge-вым таблицам зависит от количества таблиц. Ясно дело чем больше, тем хуже. Если дробить на две части, примерно в равных пропорциях, скорость запросов хуже на 1-15% (опять же на моих тестах).

К сожалению, более детально разбираться с этой проблемой нет времени.
 

Апельсин

Оранжевое создание
странно, в исходной задаче вы сказали что при разбивке у вас запросы по merge таблицам работают быстрее. А сейчас пишете что скорость по у вас merge хуже.
 

andry

Новичок
наверное, я не ясно выразился. На других тестах, медленнее. В исходном тесте было и есть быстрее. Это как раз где я про
"мой прирост производительности объясняется наличием некоторого количества join-ов по ключам. Т.к. убивание join-ов или ключей приводило к резкому скачку в минус, т.е. скорость становилась хуже обычных таблиц"
 
Сверху