Задача 102.153482

Задача :102.153482

Краткое описание :
Медленная работа directsql по сравнению даже с обычными select
Описание :
Прямой SQL
Что измененно :


DSQL
MSSQL

----- СУТЬ ПРЕДЛОЖЕНИЯ -----
Ускорить выборку DSQL-запроса при использовании драйвера ODBC "SQL Server"
Как измененно :

Доработано.
1. Теперь используется другая реализация "прерываемых" курсоров, которая работает не сильно медленнее непрерываемых (максимум в 1.5 раза)
2. Также есть альтернативный оптимистичный механизм -- перезапуск запроса после прерывания

Если запрос был вызовом хранимой процедуры или "OUTER SELECT", то используется сразу прерываемый курсор (вариант 1).
Если запрос был простым SELECT, тогда вариант 2: оптимистично запускаем непрерываемую выборку, а если её прервали, то перезапускаем её потом в прерываемом режиме (также опция "прерываемости" запоминается для данного запроса на случай, если он будет запущен ещё раз).

Если задать параметр Database.DSQLErrorOutput, то можно увидеть сообщение о том, что курсор был перезапущен (в этом случае желательна переделка прикладного кода)


Название продукта Название компонента Тип Последняя версия Дата выхода
ms70drvMS70DRVDLL5.5.26.0