Краткое описание :
Медленная работа directsql по сравнению даже с обычными selectОписание :
Прямой SQLЧто измененно :
DSQL
MSSQL
----- СУТЬ ПРЕДЛОЖЕНИЯ -----
Ускорить выборку DSQL-запроса при использовании драйвера ODBC "SQL Server"
Как измененно :
Доработано.
1. Теперь используется другая реализация "прерываемых" курсоров, которая работает не сильно медленнее непрерываемых (максимум в 1.5 раза)
2. Также есть альтернативный оптимистичный механизм -- перезапуск запроса после прерывания
Если запрос был вызовом хранимой процедуры или "OUTER SELECT", то используется сразу прерываемый курсор (вариант 1).
Если запрос был простым SELECT, тогда вариант 2: оптимистично запускаем непрерываемую выборку, а если её прервали, то перезапускаем её потом в прерываемом режиме (также опция "прерываемости" запоминается для данного запроса на случай, если он будет запущен ещё раз).
Если задать параметр Database.DSQLErrorOutput, то можно увидеть сообщение о том, что курсор был перезапущен (в этом случае желательна переделка прикладного кода)