Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.039 c
14-1110025641
TUser
2005-03-05 15:27
2005.03.27
Следить за процессом


1-1110818720
Catalyst
2005-03-14 19:45
2005.03.27
JavaScript Как выполнить в Дельфи(нужен результат ф-ии substr)?


1-1110791122
qwe
2005-03-14 12:05
2005.03.27
FindFirst


14-1110011521
boriskb
2005-03-05 11:32
2005.03.27
Читайте лицензионное соглашение. :)


14-1110220844
SergSerSh
2005-03-07 21:40
2005.03.27
Клиент для форума





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский