|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
Почему запрос в приложении выполняется в разы дольше чем в MicrosoftSQLServer
Добрый день!
Впервые столкнулась с такой ситуацией: есть SQL запрос, который в MsSQLServer выполняется за 30сек-2мин, а в моем delphi-приложении не отрабатывает даже за 1,5 часа. Подскажите как исправить проблему? |
#2
|
||||
|
||||
Цитата:
Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
#3
|
|||
|
|||
Я не могу понять никак что запрос стопорит? притом настолько.
Запрос выполняется через AdoQuery. Ничего сложного нет: Код:
select * from OPENQUERY([Mylink],'select field1,field2 from tbl1, tbl2 where tbl1.id=tbl2.id and tbl1.field1=substr('значение',1,2)='15' and tbl2.field2='значение''); Даже не знаю в какую сторону копать |
#4
|
||||
|
||||
Да вообще не должен такой запрос работать, двойной без объединения, либо с ошибками от системного движка, попробуйте проанализировать его логику
З.Ы. Посмотрел в справочнике про OPENQUERY и OPENROWSET, тогда понятно, MS SQL Server довольно специфическая весчь, и ещё там написано для ускорения проиндексируйте таблицы З.Ы.З.Ы. ADO напрямую с DB не работает, запросы обрабатывает и выполняет "родной" для этой базы драйвер посредством интерфейса OLE, поэтому может банально на вашей машинке отсутствует MS SQL движок, а системный со своей задачей справиться не успевает Я не понял Вашего вопроса, но всё же Вам на него отвечу! Последний раз редактировалось Alegun, 04.05.2017 в 14:24. |
#5
|
|||
|
|||
Спасибо. Я сделала хранимую процедуру
|