Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.01 c
14-86120
iZEN
2002-12-05 15:33
2002.12.26
Как запустить индикатор клавиатурной раскладки в WinXP?


7-86195
AlexeyMir
2002-10-24 12:26
2002.12.26
Номера оборудования


14-86084
Феликс
2002-12-07 16:40
2002.12.26
Вопрос по прокси


6-86054
Repeater
2002-10-29 20:49
2002.12.26
Как работать с SOCKS сервером?


3-85875
daimon
2002-12-08 18:11
2002.12.26
Тонкии клиент




   Наверх