Описание тега parameter-sniffing

2 ответа

Обнаружение параметров SQL возможно, что перекомпиляция не помогает, но локальные переменные делают

Я использую sp_executesql пройти сложный выбор с несколькими параметрами. Делать это намного медленнее, чем извлекать из хранимой процедуры и объявлять переменные. Я видел много вопросов о сниффинге параметров SQL, и мой сценарий звучит так. Однако …
1 ответ

Перехват параметров снижает производительность хранимой процедуры

Я использую SQL Server 2012. Недавно у меня возникли проблемы с производительностью всех моих хранимых процедур, хотя код внутри процедур работает очень быстро. Я нашел кое-что о сниффинге параметров, поэтому я использовал метод определения локальны…
2 ответа

Копировать план выполнения сохраненного процесса в другую базу данных

Настроить: Использование SQL Server 2008 R2. У нас есть хранимая процедура, которая периодически работает очень долго. Я хотел бы проверить теорию, согласно которой анализ параметров приводит к тому, что механизм запросов выбирает неверный план. Воп…
1 ответ

Огромное замедление для вызова хранимой процедуры C#, проблемы с анализом параметров / оптимизацией?

У меня есть следующий код, который запускает хранимую процедуру несколько раз. Он работает довольно хорошо, когда я буквально запускаю оператор SQL, поэтому я создал хранимую процедуру, которая инкапсулировала то, что я делал. foreach (string worker…
07 авг '12 в 22:02
2 ответа

Есть ли способ преодоления перехвата параметров в SQL Server?

Я наткнулся на анализ параметров, когда выполнение одного из моих запросов заняло гораздо больше времени, чем ожидалось. Когда я углубился в эту проблему, я узнал, что: Когда первый раз запрос выполняется, он (SQL Server) создает план выполнения для…
1 ответ

Выполнение SQL-запроса с параметрами (перекомпиляция) всегда быстрее

Это возможный дубликат этого вопроса, хотя я думаю, что мой пример немного глубже, и я был бы признателен за более конкретные ответы. Я пытаюсь понять, почему выполняется простой запрос с option(recompile) работает лучше DECLARE @p9 nvarchar(4000) S…
1 ответ

Почему отчеты SSRS работают в разработке, а не в производстве

У меня есть оператор SELECT (НЕ хранимая процедура), который я использую для создания отчета в SSRS (Visual Studio 2010). Параметр @ClassCode - это тот, который вызывает проблемы. Но в разработке он работает нормально, но когда я разверну его в Prod…
2 ответа

Решает ли Sql Server 2014 "Hekaton" скомпилированные хранимые процедуры проблемы с перехватом параметров?

Оптимизация таблиц в памяти "Хекатон" SQL Server 2014 провозглашает "Собственная компиляция бизнес-логики в хранимых процедурах". Однако из-за проблем с "анализом параметров" (см. Здесь и здесь) в SQL Server 2012 и более ранних версиях мне всегда п…
2 ответа

Как я могу контролировать сниффинг параметров и / или подсказки запросов в платформе сущностей?

Обновление: я создал предложение по внедрению управления подсказками в будущей версии EF. Иди сюда, чтобы проголосовать за это. У меня есть проблема, когда один из моих запросов Entity Framework (EF) занимает очень много времени для выполнения в Sql…
2 ответа

Должны ли вы всегда предвидеть проблемы, вызванные анализом параметров?

Используя SQL Server 2008, у меня есть простая хранимая процедура, содержимое которой DELETE FROM [ABC].[dbo].[LookUpPermissions] WHERE Code = @Code В недавнем обзоре кода администратор базы данных сказал, что я должен "добавить анализ параметров", …
2 ответа

SQL плохая производительность плана выполнения хранимых процедур - сниффинг параметров

У меня есть хранимая процедура, которая принимает ввод даты, которая позже устанавливается на текущую дату, если не передается значение в: CREATE PROCEDURE MyProc @MyDate DATETIME = NULL AS IF @MyDate IS NULL SET @MyDate = CURRENT_TIMESTAMP -- Do So…
2 ответа

Entity Framework 4.2 exec sp_executesql не использует индексы (сниффинг параметров)

Я сталкиваюсь с некоторыми серьезными проблемами с производительностью простых запросов SQL, генерируемых Entity Framework (4.2), работающих на SQL Server 2008 R2. В некоторых ситуациях (но не во всех) EF использует следующий синтаксис: exec sp_exec…
2 ответа

Многопользовательские базы данных SQL Server и сниффинг параметров

У меня есть многопользовательская база данных в SQL Server 2012, где строки каждого арендатора идентифицируются tenant_id столбец (он же Shared Database, Shared Schema). У некоторых арендаторов, особенно у новых, очень мало рядов, а у других их мног…
10 ответов

SP занимает 15 минут, но тот же запрос при выполнении возвращает результаты через 1-2 минуты

Так что в основном у меня есть эта относительно длинная хранимая процедура Основной поток выполнения состоит в том, что это SELECTS INTO некоторые данные во временных таблицах объявлены с помощью он # подписать, а затем пропустить курсор через эти т…
2 ответа

Странная проблема производительности отчетов сервера SQL, связанная со статистикой обновления

Я получил сложный отчет, используя службу отчетов, отчет, подключенный к базе данных SQl 2005, и вызов ряда процедур и функций хранилища. Сначала он работает нормально, но через несколько месяцев (данные растут) возникает ошибка тайм-аута. Я создал …
1 ответ

Проблема с прослушиванием параметров NHibernate LINQ

У нас проблемы с производительностью из-за перехвата параметров в SQL Server. Наше приложение использует NHibernate с провайдером LINQ. Я ищу способ добавить, например, "OPTION(RECOMPILE)" в этот определенный запрос SQL. Теперь я могу использовать п…
2 ответа

Обнаружение параметров на табличных параметрах

Я вполне уверен, что добавление сниффинга параметров к табличным параметрам мало или вообще не имеет значения, однако мне было интересно, если кто-то может это подтвердить? (INT_LIST - это определенный пользователем тип таблицы, представляющий собой…
2 ответа

SQL Server - сниффинг параметров

Я читал много статей о сниффинге параметров, но не ясно, хорошо это или плохо. Может кто-нибудь объяснить это на простом примере. Есть ли способ автоматически обнаружить, что неправильный план был назначен определенному утверждению? Заранее спасибо.
20 дек '13 в 08:36
1 ответ

Обойти анализ параметров в SQL Server 2005

Я видел, как люди предлагали копировать параметры в локальную переменную, чтобы избежать перехвата параметров в хранимом процессе. Скажи у тебя CREATE PROCEDURE List_orders_3 @fromdate datetime AS DECLARE @fromdate_copy datetime SELECT @fromdate_cop…
3 ответа

Каковы основные различия между OPTION(ОПТИМИЗАЦИЯ ДЛЯ НЕИЗВЕСТНОГО) и OPTION(RECOMPILE)?

Я столкнулся с классическими проблемами перехвата параметров в SQL Server 2012. Основываясь на некоторых исследованиях, я нашел несколько вариантов решения этой проблемы. Два варианта, которые мне нужны, чтобы понять разницу между OPTION(OPTIMIZE FO…