Текущий архив: 2002.12.26;
Скачать: CL | DM;
Внизкак оптимально обработать разделенный запрос Найти похожие ветки
← →
Андрусь (2002-12-03 20:37) [0]Привет всем!Возникла такая вот проблемка.Работаю с Oracle. Работаю через ODAC/OCI.Есть Датасет,заполнение которого происходит хитрым селектом,который обрывает коннект к серваку "ORA-03113 end-of-file on communication channel". Извращались по-разному,патчи что были поставили,клиента переставили на серваках разных версий пробывали. Пошёл только на 9-ке.
Запрос,в принципе, делится на 3 части,которые можно выполнить по отдельности.2-первых находят f1_start и f1_end
SELECT * FROM tabl1 t1
WHERE t1.field1 BETWEEN :f1_start AND :f1_end
Как их запустить с наименьшей потерей быстродействия.
Проще всего запустить сразу 2 первых,затем передав параметры f1_start и f1_end в основной получить данные,но быстродействие - 3 обращ. к серверу..
Другой вариант - запускать всё в хранимой процедуре,возвращающей
PL/SQL таблицу в виде параметра.Но опять же,кажется, - не лучший вариант.
← →
EternalWonderer (2002-12-04 19:55) [1]Текст запроса?
← →
perov (2002-12-05 08:13) [2]покажи плиз текст хитрого селекта, который обрывает коннект к серверу?
← →
GarryFV (2002-12-05 19:48) [3]SELECT * FROM tabl1 t1
WHERE t1.field1
BETWEEN
(select f1_start from ...)
AND
(select f1_end from ...)
Тока надо быть уверенным, что подзапросы возвращают одно значение
Страницы: 1 вся ветка
Текущий архив: 2002.12.26;
Скачать: CL | DM;
Память: 0.44 MB
Время: 0.007 c