Я вздрагиваю всякий раз, когда вижу комментарии о том, что полное сканирование таблиц плохое и доступ к индексам хороший. Сканирование полной таблицы, сканирование диапазона индекса, быстрое сканирование полного индекса, вложенные циклы, объединение слиянием, хеш-соединения и т. Д. - это просто механизмы доступа, которые должны быть понятны аналитику и объединены со знанием структуры базы данных и целью запроса в чтобы прийти к какому-либо значимому выводу.
Полное сканирование - это просто наиболее эффективный способ считывания большой части блоков сегмента данных (таблицы или раздела таблицы (под)), и, хотя это часто может указывать на проблему с производительностью, это только в контексте того, является ли это эффективным механизмом для достижения целей запроса. Говоря как хранилище данных и специалист по бизнес-аналитике, мой предупреждающий флаг номер один для производительности - это метод доступа на основе индекса и вложенный цикл.
Итак, для механизма чтения плана объяснения документация Oracle является хорошим руководством: http://download.oracle.com/docs/cd/B28359_01/server.111/b28274/ex_plan.htm#PFGRF009
Внимательно прочитайте также Руководство по настройке производительности.
Также есть Google для «обратной связи по количеству элементов», методики, в которой план объяснения может использоваться для сравнения оценок мощности на различных этапах в запросе с фактическим количеством элементов, получаемых во время выполнения. Полагаю, что автором метода является Вольфганг Брайтлинг.
Итак, суть: понять механизмы доступа. Понять базу данных. Понять намерение запроса. Избегайте эмпирических правил.