Форум: "Базы";
Текущий архив: 2005.03.27;
Скачать: [xml.tar.bz2];
ВнизВыполнение двух запросов одновременно ? Найти похожие ветки
← →
Slaga © (2005-03-02 12:30) [0]Добрый день, у меня такой вопрос:
Я пишу приложения для отображения данных из Oracle, для этого пользуюсь компонентами DirecOracleAccess, и я столкнулся с такой ситуацией:
делаю в главной программе два потока, которые одновременно делают каждый запрос в БД через TOracleDataSet которые подключены к OracleSessioг, и тут я наткнулся на то что они не выполняются одновременно, а ждут друг друга и выполняются последовательно, сначала 1-й запрос из первого потока, потом 2-й запрос из второго запроса.
Вообщем из-за этого теряется всякий смысл многопоточности, может это как-то можно изменить, что сделать чо б 2 запроса выполнялись одновременно (запросов может быть и не 2 а 10)
← →
Sergey_Masloff (2005-03-02 12:41) [1]1) А сессионов у тебя сколько?
2) У тебя многопроцессорная машина на клиенте? Если нет то ты со своими потоками получишь не ускорение а тормоза по сравнению с последовательным выполнением.
← →
Danilka © (2005-03-02 12:53) [2][1] Sergey_Masloff (02.03.05 12:41)
Если основные временные затраты идут на ожидание ответа сервера, то возможно и ускорение на клиенте. :)
← →
Slaga © (2005-03-02 12:54) [3]1) Сессион дин
2) Мне не надо ускорение, мне надо "живое приложение" потому как запросы не детские, а в проге кроме них можно и нужно выполнять и другие более быстрые операции.
← →
Slaga © (2005-03-02 12:58) [4]Тут делать не в скорости а в многозадачности, например, пользователь запустил некоторую "долгую" выборку а сам тем временем, выполняет другие "быстрые" запросы к базе.
← →
Reindeer Moss Eater © (2005-03-02 13:03) [5]Нужны множественные коннекты к серверу и такие же сессии.
← →
slaga © (2005-03-02 14:38) [6]А что такое OracleSessionPool и с чем его едят ?
← →
kivadim (2005-03-02 16:13) [7]Я извиняюсь..., а к компонентам палитры АДО тоже нужны множественные сесси для работы запросов в разных потоках?
← →
Digitman © (2005-03-02 16:21) [8]боюсь, дело тут как всегда в бездумном использовании TThread.Synchronize()
← →
slaga © (2005-03-02 16:23) [9]Подскажите плз, где почитать про создание мульти тотоковое подключение к Оракловской базе данных
← →
slaga © (2005-03-02 16:43) [10]to Digitman
нет, я не использую TThread.Synchronize() в этом случает.
← →
Digitman © (2005-03-02 16:52) [11]
> slaga
тред должен создать в своем контексте свою индивидуальную связку объектов session+database+query
← →
slaga © (2005-03-02 17:16) [12]ага, спосибо, это решение, просто думал может как-то красибо через компоненту OracleSessionPool, для чего-то она есть :)
← →
MORA (2005-03-02 23:07) [13]
> тред должен создать в своем контексте свою индивидуальную
> связку объектов session+database+query
это точно. а почитать мона в книжке. Я лично почитал в D-6 Руководство разработчика. С. Тейксейра и К. Пачеко. Там много знать не надо. Главное - для каждого потока свои session+database+query.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2005.03.27;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.036 c