Здравствуйте, alex_public, Вы писали:
_>При исполнение предкомпилированного запроса вообще не используется sql код. Ни для компиляции, ни для вычисления хеша и поиска в кеше. Соответственно при исполнение запроса он не готовится на клиенте (в смысле клиенте СУБД) и не передаётся на сервер (СУБД).
Ух ты! И как это работает? Что же передаётся на сервер?
Я, наверное, сорву какие-то покровы, но на сервер при исполнении prepared statement уезжает вполне себе SQL.
Выглядит он примерно так:
exec sp_execute 10003, N'Hello, world!', 222
Его парсит парсер — точно так же, как и любой другой запрос. И точно так же первым делом вычисляется хеш, и происходит поиск в кеше планов.