Показать сообщение отдельно
Старый 16.04.2010, 16:02   #6  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,656 / 1158 (42) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Нет. Вопрос вовсе не в синтаксисе. На MS SQL при выполнении Exist Join наблюдается та же проблема (по крайней мере в AX 2.5 + MS SQL 2005).

Правда там отследить проблематично, что физически происходит, поскольку запрос "обернут" в хранимые процедуры по созданию курсоров

exec sp_cursoropen
exec sp_cursorfetch
exec sp_cursorclose

Но, судя по времени исполнения, именно что формируется курсор без Exists, а потом, внутри себя, проверяется это условие. А вот с Inner Join такого не наблюдается.

Т.е. вопрос тут не столько к разработчикам Axapta, сколько к разработчикам этих хранимых процедур от MS SQL. Поскольку если просто скопировать сам запрос из трассировки и посмотреть план его исполнения (или просто исполнить), то все "летает". А вот внутри sp_cursorfetch - тормоза страшные.