wurdu |
---|
Планы надо смотреть с предикатами, тогда будет видна internal_function. Если хочется индекса по дате - надо преобразовать timestamp в date, (SELECT cast (MAX(TL.REGTIME) as date) FROM LOG_T TL). Также неплохо бы определиться, на какой стороне хочется выполнять запрос и возможно использовать /*+ driving_site */ |
спасибо запрос оптимизировался после
SELECT /*+ DRIVING_SITE(bl)*/
*
FROM LOG_B BL
WHERE BL.RAISETIME >
(SELECT cast(MAX(TL.REGTIME) as date) FROM LOG_Т TL);
но если переделать на
insert into или на
mergeinsert into log_t(col1, col2, col3)
(SELECT /*+ DRIVING_SITE(bl)*/
seq_log_t_id.Nextval,
col2,
col3
FROM LOG_B BL
WHERE BL.RAISETIME >
(SELECT cast(MAX(TL.REGTIME) as date) FROM LOG_Т TL))
то запрос опять тормозить
это явно связано с
seq_log_t_id.Nextvalзапрос на стороне log_t