Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.12.26;
Скачать: [xml.tar.bz2];

Вниз

как оптимально обработать разделенный запрос   Найти похожие ветки 

 
Андрусь   (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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.55 MB
Время: 0.028 c
1-85949
Tik
2002-12-15 06:46
2002.12.26
TreeView


14-86131
malkolinge
2002-12-05 12:21
2002.12.26
Кто за сколько грохнет человеческое существо ?


14-86144
Сатир
2002-12-05 16:54
2002.12.26
Let us speak English?


1-85970
Bedny
2002-12-12 22:33
2002.12.26
MkDir???


1-85999
Alpine
2002-12-16 12:50
2002.12.26
Как запретить своему приложению не запускаться больше одного раза





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский