Oracle 9.2 Оптимизация запроса

Ответить

Код подтверждения
Введите код в точности так, как вы его видите. Регистр символов не имеет значения.

BBCode ВКЛЮЧЁН
[img] ВКЛЮЧЁН
[url] ВКЛЮЧЁН
Смайлики ОТКЛЮЧЕНЫ

Обзор темы
   

Развернуть Обзор темы: Oracle 9.2 Оптимизация запроса

Naeel Maqsudov » 29 дек 2004, 02:26

В Oracle начиная с 8i есть два вида индексов. Обычный (древовидный) и битовый (bitmap index)

Первый хорош для данных с небольшим числом повторений (например для pk идеально) а второй для значений, которые часто повторяются.

Исполльзовать индекс или нет Oracle часто решает сам, например, для небольших таблиц часто он кладет на индексы, если они помещаются в кеше. Тут только план запроса надо смотреть и ковыряться что и как отработало, а в случае если Oracle не прав - вписать в предложение select так называемые хинты, которые скажут ему, какие индексы тут надо поюзать.

Кроме того есть в sp-файле параметры, изменяющие внутренние алгоритмы, связанные с оптимизацией запросов (по разному (из разных критериев) может вычисляться стоимость запроса). На вскидку не помню, могу посмотреть, если надо.

AiK » 09 дек 2004, 16:04

Видимо вопрос уже отсох сам собой. Кстати, скорость может быть разной, потому что в одном случае испульзуется кластерный индекс, а в другом - нет.

DeeJayC » 09 дек 2004, 12:59

AiK писал(а):Планы запросов надеюсь в Oracle есть? Там могут крыться ответы на вопросы.
Есть.

AiK » 07 дек 2004, 22:10

Планы запросов надеюсь в Oracle есть? Там могут крыться ответы на вопросы.

Chester » 07 дек 2004, 15:40

DeeJayC писал(а):pk, index?
Да есть все, даже статистика собрана.

DeeJayC » 07 дек 2004, 15:31

pk, index?

Oracle 9.2 Оптимизация запроса

Chester » 07 дек 2004, 15:26

Господа, не обессудьте :D

Имеетмся 3 таблицы, примерно одинаковых по размеру.

Выборка 1

select t1.name, sum(t2.data)
from table1 t1 left join table2 t2 on t2.reftotable1_ID=t1.ID
group by t1.name

Выборка 2

select t1.name, sum(t3.data)
from table1 t1 left join table3 t3 on t3.reftotable1_ID=t1.ID
group by t1.name

Так вот Выборка 1 отрабатыцвает почти мгновенно, а вот выборка 2 примерно 5-7 минут.

Подскажите плз., можно ли каким-то образом ускорить процесс?????
З.Ы. Все индексы подняты...

Вернуться к началу