Форум: "Базы";
Текущий архив: 2005.09.25;
Скачать: [xml.tar.bz2];
ВнизДолгий поиск Найти похожие ветки
← →
Marat © (2005-08-11 14:48) [0]Я делаю следующее:
1. Запрос из БД Oracle.
2. Все что нашел построчно вставляю в StringGrid.
3. Проходя в цикле по строкам StringGrid делаю запрос из БД MSSQL (через представление) используя в качестве параметра значение из одной ячейки. И тут же заполняю в эту же строку нужные значения из полученных данных.
Все это работает, но очень медленно. Если из БД Oracle достать 100 срок, то все вместе осуществляется за 1,5 минуты. Причем в самих запросах нет никаких сложностей. Я пробовал поставить "стоп" и вручную пошагово пройти весь алгоритм- получается гораздо быстрее чем автоматически.
Не подскажете в чем тут проблема?
← →
Sergey13 © (2005-08-11 14:56) [1]А зачем тут StringGrid и/или цикл по нему?
← →
ANB © (2005-08-11 15:05) [2]
> Marat © (11.08.05 14:48)
- KeepConnection проверь.
← →
Marat © (2005-08-11 15:25) [3]Sergey13
А в какой объект сливать два запроса из разных БД?
ANB
KeepConnection у обоих Database= true
← →
Sergey13 © (2005-08-11 15:33) [4]2[3] Marat © (11.08.05 15:25)
Таблица в памяти (типа RxMemoryData) или в клиентский датасет например.
← →
Виталий Панасенко (2005-08-11 15:37) [5]А если использовать БДЕ гетерогенные запросы ?
← →
Anatoly Podgoretsky © (2005-08-11 15:38) [6]В компонент xxxQuery, про UNION слышал?
← →
Nikolay M. © (2005-08-11 15:51) [7]Какой ужас... :(
Может, прилинковать оракл к мс скл linked-server-ом кошернее будет?
← →
Fay © (2005-08-11 15:51) [8]2 Marat © (11.08.05 14:48)
Возьми все значения из StrigGrid. Запихай в запрос, верни набор данных, дополни StringGrid
← →
Marat © (2005-08-11 15:51) [9]Не убирайте пожалуйста этот вопрос до завтра. У нас рабочий день кончился.
← →
ANB © (2005-08-11 15:54) [10]
> Nikolay M. © (11.08.05 15:51) [7]
- тоже не фонтан. И глюков много.
Автору : Засеки время выполнения одного запроса из MS SQL. Долговато у тебя что то. Кстати, в стринг грид можно не складывать - тебя никто не заставляет закрывать дейтасет после выполнения запроса из оракла и гулять по нему курсором.
← →
Nikolay M. © (2005-08-11 16:01) [11]
> ANB © (11.08.05 15:54) [10]
> - тоже не фонтан. И глюков много.
Первое - да, но что делать. Второе - при наличии curvehands.sys :)
← →
ANB © (2005-08-11 16:05) [12]
> Nikolay M. © (11.08.05 16:01) [11]
- не скинешь инструкцию по созданию db link оракл - ms sql ? Мы ставили, но потом при работе полно глюков и чуть что не так сделал - все виснет.
← →
Nikolay M. © (2005-08-11 16:13) [13]
> ANB © (11.08.05 16:05) [12]
Не скину :(
Когда на sql.ru поиск по форумам заработает, тогда м.б. :)
← →
Slym © (2005-08-12 05:01) [14]Как к ораклу цепляешся?
1. Prepared:=true;
2. Requery+Parameters вместо Open/Close+изменение Sql;
3. Делать все в 1 запросе (JOIN)
4. DBGrid вместо StringGrid (это к производительности не относится)
← →
Slym © (2005-08-12 05:03) [15]Не заметил что базы разнобокие... Тогда 3 частично (через линк)
← →
Marat © (2005-08-12 07:20) [16]Из всего сказанного придумал так:
Сейчас пробую засунуть все из первого запроса в массив. Потом пробежаться по массиву 2 запросом. И только потом все из массива засунуть в StringGrid. Интересно, так быстрее будет или нет?
← →
Marat © (2005-08-12 07:57) [17]Ого! Ребята, работай со свистом!!!
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2005.09.25;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.039 c