sp_prepare и sp_execute - PullRequest
       2

sp_prepare и sp_execute

4 голосов
/ 01 апреля 2011

Я уже некоторое время консультируюсь с Google, но он не может дать мне удовлетворительного ответа ...

В трассировке SQL Server 2005 у меня много "exec sp_execute "заявления.Я знаю, что они связаны с соответствующим оператором "exec sp_prepare", который указывает фактический SQL.

Но ...

One: Можно ли узнатьSQL за sp_execute без поиска sp_prepare?

Два: Какой тип конструкции обычно скрывается за sp_execute?То есть это хранимая процедура?Это просто строка в коде?Или что?

Три: Должен ли я бояться плохой работы, когда вижу их в трассировке?

Любой вклад приветствуется

Ответы [ 3 ]

3 голосов
/ 02 февраля 2012

Используйте

select * from sys.dm_exec_query_plan(PlanHandle)

для создания XML-документа, который указывает, что использует sql sp_execute.

3 голосов
/ 23 мая 2012

Поздний ответ, но у меня недавно было приложение с плохой производительностью, выполняющее sp_prepare и sp_execute.

One : Ответ перед

Two :Это может быть что угодно, хранимые процедуры, любой допустимый SQL-запрос.

Три : у меня были проблемы с тем, что SQL Server не удалось создать хорошие планы выполнения, когда приложение использовало sp_prepare.По сути, SQL Server анализирует входящие параметры, чтобы сгенерировать хороший план выполнения, но с помощью sp_prepare значения параметров не передаются, поскольку они добавляются только при выполнении sp_execute.Таким образом, тем временем SQL Server применяет общие затраты для разных операторов и вполне может создать неоптимальный план.

Если вы посмотрите на использование reads / cpu для ваших трассировок, вы сможете определить, работают ли ваши запросы плохо или как ожидалось.

Также см. http://blogs.infosupport.com/speeding-up-ssis-literally

3 голосов
/ 08 апреля 2011

Это серверные серверные курсоры API, наиболее вероятно используемые старым (или не очень старым, но плохо разработанным) приложением.

99% случаев, курсоры влияют на производительность вашего сервера.Дисковый и сетевой ввод-вывод являются потенциальными жертвами.

Чтение это , это помогло мне понять, как работают серверные курсоры.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...