Долгий запрос

Eva_2006
Дата: 05.03.2007 12:34:05
Написала я вот такой запрос:

UPDATE /*+ parallel (my_table,4)*/ my_table
SET "Расходы" = (	SELECT SUM(a)
    						FROM tabl_1 t
    						WHERE 	my_table.id = t.id 
									AND NVL(t.b,0) <> 0
    								AND t.dt between sysdate-1 and sysdate),
    		fl_2 = 1
WHERE corp."Расходы" = 0 

Ранее было по-другому: вначале курсором выбирались все записи из my_table, затем шло обновление с одновременным вычислением значения..... Работало очень долго.

В таблице my_table 62000 строк. В Tabl-1 - намного больше.... очень много....

Ваше мнение по поводу этого?
jenyz
Дата: 05.03.2007 12:37:10
а индексы какие есть? и план бы...

это не хорошо
Eva_2006


... AND NVL(t.b,0) <> 0...

Grami
Дата: 05.03.2007 12:42:25
Eva_2006
Ваше мнение по поводу этого?


моё мнение, что нужно тебе почитать книжек по ораклу побольше, документации, тогда у тебя будет получатся задавать правильные вопросы на sql.ru.
а по поводу твоего запроса - структуру таблиц очень было бы интересно посмотреть!
orawish
Дата: 05.03.2007 12:51:01
Eva_2006
Написала я вот такой запрос:

.. t.dt between sysdate-1 and sysdate

Ранее было по-другому: вначале курсором выбирались все записи из my_table, затем шло обновление с одновременным вычислением значения..... Работало очень долго.

В таблице my_table 62000 строк. В Tabl-1 - намного больше.... очень много....

Ваше мнение по поводу этого?

имхо - тут всё зависит от селективности (ну и производительности) того бетвина
Кстати, выбораемый там диапазон, довольно необычен (наверное, вы пользуете fixed date?).
Jannny
Дата: 05.03.2007 12:51:14
jenyz
а индексы какие есть?

это не хорошо
Eva_2006
... AND NVL(t.b,0) <> 0...

ИМХО либо, либо :) Либо мы не знаем, какие индексы есть, либо знаем, что нехорошо :)
jenyz
Дата: 05.03.2007 12:52:45
Jannny
jenyz
а индексы какие есть?

это не хорошо
Eva_2006
... AND NVL(t.b,0) <> 0...

ИМХО либо, либо :) Либо мы не знаем, какие индексы есть, либо знаем, что нехорошо :)


....но лучше чтобы был))
Бабичев Сергей
Дата: 05.03.2007 12:54:13
2 Автор
А MERGE не пробывали использовать? Ситуация для него как раз подходящая, IMNO.
Бабичев Сергей
Дата: 05.03.2007 12:55:05
Бабичев Сергей
IMNO.
Ну надо, так глупо опечататься :)
IMHO, конечно же имелось ввиду...