Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Помогите плз с Plan Guide (sp_create_plan_guide) / 6 сообщений из 6, страница 1 из 1
11.04.2018, 13:05
    #39628354
Georgiy L.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите плз с Plan Guide (sp_create_plan_guide)
Есть запрос, в профайлере отловил:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
exec sp_executesql N'SELECT TOP 1
T1._Q_000_F_001RRef
FROM #tt75 T1 WITH(NOLOCK)
INNER JOIN dbo._CRg600 T2
ON (((((T2._Fld616RRef = T1._Q_000_F_000RRef) AND (T2._Fld601RRef = T1._Q_000_F_001RRef)) AND (T2._ActionPeriod >= DATEADD(DAY,@P1 - 1,DATEADD(MONTH,CAST(DATEPART(MONTH,T1._Q_000_F_002) AS NUMERIC(4)) - 1,DATEADD(YEAR,(CAST(DATEPART(YEAR,T1._Q_000_F_002) AS NUMERIC(4)) - 2000) - 2000,@P2))))) AND (T2._APDateTill >= T1._Q_000_F_002)) AND T2._CalcKindRRef IN
(SELECT
T3._Q_000_F_000RRef AS Q_001_F_000RRef
FROM #tt1 T3 WITH(NOLOCK)))
WHERE (T2._Fld543 = @P3)',N'@P1 numeric(10),@P2 datetime2(3),@P3 numeric(10)',1,'4000-01-01 00:00:00',0



Необходимо к запросу указать хинты через sp_create_plan_guide, непонятны следующие вещи:

1. Запрос содержит временную таблицу #tt75, понятно что номер ее может быть другим в следующем запросе, как с этим быть?
2. Что лучше использовать в данном случае? type = N'SQL' или type = N'TEMPLATE'

Собственно нужно чтобы для каждого запроса применялся определенный индекс (всегда один), по умолчанию план выбирает СКАН без индекса.
Индексы пересобирал, кэши чистил, статистику обновлял.

Спасибо Вам большое за посильную помощь!!!
...
Рейтинг: 0 / 0
11.04.2018, 13:57
    #39628384
Дедушка
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите плз с Plan Guide (sp_create_plan_guide)
вопрос, почему вы считаете, что приколотив индекс хинтом запросу станет лучше?
...
Рейтинг: 0 / 0
11.04.2018, 14:11
    #39628396
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите плз с Plan Guide (sp_create_plan_guide)
Georgiy L.,

для такого запроса руководство планов нельзя использовать. Точнее, оно не будет использовано из-за изменения текста запроса.
...
Рейтинг: 0 / 0
11.04.2018, 14:22
    #39628405
Georgiy L.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите плз с Plan Guide (sp_create_plan_guide)
Владислав КолосовGeorgiy L.,

для такого запроса руководство планов нельзя использовать. Точнее, оно не будет использовано из-за изменения текста запроса.

Спасибо за ответ! Теперь хоть понятно.
...
Рейтинг: 0 / 0
11.04.2018, 14:22
    #39628406
Georgiy L.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите плз с Plan Guide (sp_create_plan_guide)
Дедушкавопрос, почему вы считаете, что приколотив индекс хинтом запросу станет лучше?

Странный вопрос, сейчас индекс вообще не используется, хотя специально создан нужный.
...
Рейтинг: 0 / 0
11.04.2018, 14:44
    #39628421
Дедушка
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите плз с Plan Guide (sp_create_plan_guide)
Georgiy L.Странный вопрос, сейчас индекс вообще не используется, хотя специально создан нужный.наличие некого индекса как и факт телодвижения по его созданию не означает, что его использование принесёт пользу.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Помогите плз с Plan Guide (sp_create_plan_guide) / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]