Вопросы с тегом «execution-plan»

Стратегия, выбранная оптимизатором запросов для обработки запроса.

1
Функция Force Plan плана запросов не работает
Похоже, что план плана Query Store Force не обеспечивает выполнение плана. Я знаю о Query Store - принудительное не всегда означает принудительное ; тем не менее, мой план может измениться незначительно, но оптимизатор запросов может продолжать выбирать неверные индексы, выбор циклов и т. д. По сути: это не соответствует моему …

3
Последовательное сканирование PostgreSQL вместо индексного сканирования Почему?
Привет всем! У меня проблема с запросом к базе данных PostgreSQL, и мне интересно, может ли кто-нибудь помочь. В некоторых случаях мой запрос игнорирует созданный мной индекс, который используется для объединения двух таблиц dataи data_area. Когда это происходит, он использует последовательное сканирование и приводит к гораздо более медленному запросу. Последовательное …

3
Как исследовать производительность оператора BULK INSERT?
Я в основном разработчик .NET, использующий Entity Framework ORM. Однако, поскольку я не хочу терпеть неудачу в использовании ORM , я пытаюсь понять, что происходит на уровне данных (базе данных). По сути, во время разработки я запускаю профилировщик и проверяю, какие части кода генерируются в терминах запросов. Если я замечаю …

1
Разница между поиском предиката и предиката
Я пытаюсь настроить производительность запроса, который есть у нас в SQL Server 2014 Enterprise. Я открыл фактический план запроса в SQL Sentry Plan Explorer, и я вижу на одном узле, что у него есть Предикат поиска, а также Предикат В чем разница между поиском предиката и предиката ? Примечание: я …

2
Почему запрос DELETE выполняется в одном формате намного дольше, чем в другом?
У меня есть определенный код очистки, который пытается удалить некоторые дубликаты. Это отлично работает на многих сайтах клиентов. Журналы говорят мне, что этот запрос потребляет от 1 до 45 секунд: DELETE FROM [tbl] WHERE [Id] NOT IN ( SELECT MIN([Id]) FROM [tbl] GROUP BY [IdProject], [IdRepresentative], [TimeStart] ) Но у …

2
Почему я получаю неявное преобразование Int / Smallint в Varchar, и это действительно влияет на оценки кардинальности?
Я пытаюсь решить проблему с медленным выполнением запроса, используя Show Plan Analysis (SSMS) для фактического плана выполнения. Инструмент «Анализ» указывает, что оценки количества строк не совпадают с возвращенными результатами в нескольких местах плана, а также дает некоторые неявные предупреждения о преобразовании. Я не понимаю этих неявных преобразований типа int в …

1
План запроса SQL Server XML: длина QueryPlanHash
ОБНОВЛЕНИЕ: Это определенно ошибка. Для получения полной информации см. Этот пункт подключения . При тестировании некоторых изменений в sp_BlitzCache (полное раскрытие, я один из авторов) я натолкнулся на то, что я считаю ошибкой в ​​нашем коде. В какой-то момент мы сопоставляем хэш плана запроса, чтобы получить стоимость запроса. Мы делаем …

4
Sql Server не может использовать индекс при простом бижекции
Это еще одна головоломка оптимизатора запросов. Может быть, я просто переоцениваю оптимизаторы запросов, или, может быть, я что-то упустил - поэтому я выкладываю это туда. У меня простой стол CREATE TABLE [dbo].[MyEntities]( [Id] [uniqueidentifier] NOT NULL, [Number] [int] NOT NULL, CONSTRAINT [PK_dbo.MyEntities] PRIMARY KEY CLUSTERED ([Id]) ) CREATE NONCLUSTERED INDEX …

2
Поведение нечетного потока
Запрос: declare @X xml = ' <item ID = "0"/> <item ID = "1"/> <item/> <item/>'; select I.X.value('@ID', 'int') from @X.nodes('/item') as I(X); Результат: ----------- 0 1 NULL NULL План выполнения: Верхняя ветвь разделяет XML на четыре строки, а нижняя ветвь выбирает значение для атрибута ID. То, что кажется мне …

3
Как ответить, почему вдруг нам нужны индексы или запрос должен быть изменен
Я младший DBA с 3-х летним стажем. Наша работа заключается в точной настройке запросов или информировании разработчиков о том, что определенный код должен быть переписан или необходимы индексы. Один простой вопрос, который часто задает команда разработчиков: «Вчера все прошло нормально, что изменилось внезапно?» и нас попросят проверить инфраструктуру. Первая реакция …

1
Было бы лучше, чтобы планы запросов были разделены по заявлению на повторное использование?
Из моих ограниченных знаний о том, как планы запросов компилируются, хранятся и извлекаются запросами, я понимаю, что запрос с несколькими утверждениями или хранимая процедура будет генерировать свой план запроса, который будет храниться в кэше плана запросов, который будет использоваться запросом в будущих выполнениях. Я думаю, что этот план извлекается из …

2
Понимание статистики, планов выполнения и «восходящей ключевой проблемы»
Я пытаюсь лучше понять (концептуально) взаимосвязь между статистикой, планами выполнения, выполнением хранимых процедур. Правильно ли я сказал, что статистика используется только при создании плана выполнения хранимой процедуры и не используется в реальном контексте выполнения? Другими словами, если это так, то после того, как план создан (и при условии, что он …

2
ROW_NUMBER () без PARTITION BY по-прежнему генерирует итератор сегмента
Я пишу в своем следующем блоге о ранжировании и агрегировании оконных функций, в частности, об итераторах Segment и Sequence Project. Насколько я понимаю, Segment идентифицирует строки в потоке, которые составляют конец / начало группы, поэтому следующий запрос: SELECT ROW_NUMBER() OVER (PARTITION BY someGroup ORDER BY someOrder) Сегмент будет использовать, чтобы …

1
Расчетный и фактический план запроса с вызовами функций
У меня есть этот запрос на сервере SQL, запрос репликации слиянием: SELECT DISTINCT b.tablenick, b.rowguid, c.generation, sys.fn_MSgeneration_downloadonly ( c.generation, c.tablenick ) FROM #belong b LEFT OUTER JOIN dbo.MSmerge_contents c ON c.tablenick = b.tablenick AND c.rowguid = b.rowguid; Предполагаемый план запроса включает в себя информацию о 3 запросах: Запрос выше Вызов …

1
Странный план запроса при использовании OR в предложении JOIN - постоянное сканирование для каждой строки в таблице
Я пытаюсь создать примерный план запроса, чтобы показать, почему UNIONing двух наборов результатов может быть лучше, чем использование OR в предложении JOIN. План запроса, который я написал, поставил меня в тупик. Я использую базу данных StackOverflow с некластеризованным индексом Users.Reputation. Запрос CREATE NONCLUSTERED INDEX IX_NC_REPUTATION ON dbo.USERS(Reputation) SELECT DISTINCT Users.Id …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.