Вниз
Скачать: CL | DM;

Чисто теоретический вопрос   Найти похожие ветки 

← →
Merlin ©   (2002-02-21 01:46) [0]

Такой тест:
1. Открываем одну сессию к какой-то базе
2. даем один навороченный SQL запрос к базе, который (сам запрос) выполняется, скажем, 3 секунды (ну, очень навороченный :)
3. даем второй навороченный SQL запрос к базе, который выполняется, скажем, 2 секунды.
Если эти два SQL запроса расположить в программе друг за другом, то, понятно они будут выполняться последовательно.
А теперь внимание вопрос :) если я создаю 2 потока в которых эти два вышеописанных запроса запускаются одновременно. Напоминаю, у нас только одна открытая сессия.

Если каждому потоку открыть свою сессию, то понятно, ответы они получат одновременно (ну, почти), а вот в случае одной сессии, будут ли эти запросы посланы и обработаны параллельно, или же, так же, как и в случае с обычной программой, последовательно?


← →
Suntechnic ©   (2002-02-21 05:00) [1]

>Merlin © (21.02.02 01:46)
TDatabase это НЕ потоко безопасный класс. И если ты хочешь последующего секса, то можешь конечно делать и так. Тут встречались товарищи, аргументы которых сводились к следующему: "я так делал и у меня всё работало..." Это всё равно что сообщить всему люду, что всю жизнь бегал на красный свет и до сих пор ещё жив. Что произойдёт сказать достаточно трудно. Скорее всего в один прекрасный момент поймаешь исключение. По крайней мере, если авторы VCL настаивают на использовании TSession для каждого потока отдельно, то я бы к ним прислушался.


← →
EAlexander ©   (2002-02-21 10:54) [2]

если БД - Oracle, то все запросы от одной сессий выполняются последовательно независимо от того как это в программе.


← →
panov ©   (2002-02-21 10:58) [3]

>EAlexander © (21.02.02 10:54)
уточню(про ORACLE): если не используется MTS...


← →
EAlexander ©   (2002-02-21 11:14) [4]

to panov
это да, только реально это MTS кто-нибудь использует. IMHO, пока это достаточно сложно и наверно потребует дополнительной настройки у пользователя. для ускорения и удобства проще запросы продумывать лучше :)



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.007 c
1-66818
tovSuhov
2002-03-07 11:05
2002.03.21
Вот такой вопрос по QuickRep...


1-66901
lipskiy
2002-03-06 02:11
2002.03.21
OpenDialog перестал реагировать на InitialDir !!! Помогите разобраться с глюком.


1-66851
Dok_3D
2002-03-05 12:46
2002.03.21
Как уничтожить OLE-объект ?


14-66976
ATLANTIDO
2002-02-05 00:46
2002.03.21
ХАКЕРСТВО НЕ В ЗАКОНЕ ?


1-66895
der
2002-03-06 08:23
2002.03.21
круговерть с DLL




   Наверх