Великодушно прошу прощения, действительно, посмотрел внимательно и план от вышеприведенного запроса на самом деле такой как вы описываете:kdv писал(а):В то, что этот индекс взялся как join для order by a57.val - я не верю.
Скорее план взят не оттуда. Т.к. при order by в плане будет или plan sort или слово order.
Код: Выделить всё
PLAN JOIN (a57 ORDER VAL_STR_IDX1,a113 INDEX (VAL_STR_IDX5),a112 INDEX (VAL_STR_IDX5),a88 INDEX (VAL_BOOL_IDX5,VAL_BOOL_IDX1))
Просто мучает вопрос: почему после массового insert'а статистика индексов была как бы "правильная" с точки зрения скорости выполнения запроса, а после обновления статистики - стала фиговой с этой же точки зрения. Следовательно существовало состоянии базы "какое мне надо". Если бы этого состояния не было, то и сравнивать было бы не с чем. И тогда оставалось бы ковыряться только в индексах. Что же это за лохматый зверь такой - статистика, которая жизнь портит.
Конечно, "руки" у разработчика должны расти из правильного места. Попробую воспользоваться вашими советами. Спасибо.