Oracle 10. Временная таблица - ее статистика
От: Dazz  
Дата: 16.09.10 20:17
Оценка:
На эту тему есть топик
Автор:
Дата: 16.02.05


Вопрос примерно тот же:
есть запрос из временной таблицы и еще чего-то
select *
from temp_t, small_t, other_small_t
where
temp_t.code1 = small_t.code and temp_t.code2 = other_small_t.code

small_t и other_small_t содержать по сотне записей.
temp_t заполняется кучей записей. От 10 тысяч до нескольких сот тысяч записей.
При этом алгоритм обрабатывает данные итеративно : т.е. для разных сущностей (до 500 сущностей в пределах одной обработки данных) он вызывает заполнение временной таблицы и этот селект

Использовать DBMS_STATS не рационально — он на таких объемах да еще будучи вызван много раз съест слишком много времени.

Вопрос: а как поступить?
— хинт — /*+ DYNAMIC_SAMPLING */ — не будет ли он за каждым разом пересобирать статистику?
— можно конечно затюнить запрос хинтами, тогда план всегда будет правильным
— или есть еще более правильный способ с точки зрения оракла для временных таблиц?
Re: Oracle 10. Временная таблица - ее статистика
От: Аноним  
Дата: 17.09.10 06:01
Оценка:
Здравствуйте, Dazz, Вы писали:

D>Вопрос: а как поступить?

D>- хинт — /*+ DYNAMIC_SAMPLING */ — не будет ли он за каждым разом пересобирать статистику?
D>- можно конечно затюнить запрос хинтами, тогда план всегда будет правильным
D>- или есть еще более правильный способ с точки зрения оракла для временных таблиц?

Есть еще хинт cardinality. Тоже можно использовать в некоторых случаях.
Re: Oracle 10. Временная таблица - ее статистика
От: wildwind Россия  
Дата: 20.09.10 12:09
Оценка:
Здравствуйте, Dazz, Вы писали:

0. Точная версия Oracle
1. Какие сейчас проблемы с этим запросом. Зачем понадобилось что-то тюнить?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.