Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.03.27;
Скачать: CL | DM;

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.028 c
1-1110879559
BorisUK
2005-03-15 12:39
2005.03.27
по группировке в FastReports


1-1110781018
AloneAli
2005-03-14 09:16
2005.03.27
Как получиться значение синуса в градусах?


14-1109705873
Petr V. Abramov
2005-03-01 22:37
2005.03.27
Нужно ли России членство


1-1111065228
Yurij-7
2005-03-17 16:13
2005.03.27
Код клавиши


1-1110906247
X_Tra
2005-03-15 20:04
2005.03.27
Чтение файлов от конца к началу