Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.03.21;
Скачать: 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 вся ветка

Текущий архив: 2002.03.21;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.013 c
1-66926
ak
2002-03-06 18:47
2002.03.21
проблема с версией BDE


3-66791
Фадеичев Андрей
2002-02-21 16:30
2002.03.21
Delphi и сетевые базы данных.


4-67051
dimon
2002-01-23 15:32
2002.03.21
Календарь DateTimePicker-а в Delphi


1-66863
fishka
2002-03-04 10:51
2002.03.21
Компонент ChartFX и цвета графиков


14-67011
oblom
2002-02-05 14:51
2002.03.21
Максимальное ускорение запуска windows