Sign in with Microsoft
Sign in or create an account.

Аннотация

Добавьте новый атрибут плана выполнения запроса EstimateRowsWithoutRowGoal в SQL Server 2017 накопительное обновление 3 (CU3) и Microsoft SQL Server 2016 с пакетом обновления 2 (SP2).

Если оптимизатор запросов оценивает стоимость плана выполнения запроса, обычно предполагается, что все соответствующие строки из всех источников должны обрабатываться. Тем не менее, в некоторых запросах оптимизатор запросов может найти план, который быстрее будет возвращать меньшее количество строк. Это может произойти в том случае, если в запросе используется предложение Top , функция Fast Number_rows либо предложение in или Exists , либо инструкция SET ROWCOUNT {Number | @number_var} . В этом случае оптимизатор использует целевую задачу строки, если она оценивает план запроса. Если применен план цели строки, будет уменьшено предполагаемое количество строк в плане выполнения запроса. Это связано с тем, что в плане предполагается, что для достижения цели строки нужно будет обрабатывать меньшее количество строк.

Примечание. Оценка, созданная с помощью цели строки, является приблизительной. Если фактическое распространение данных не является универсальным, оно может быть меньше фактического количества строк, которые нужно обработать. Таким образом, возможно создание неэффективного плана запроса. Чтобы устранить эту проблему, можно использовать параметр запроса на ПОДсказку "использование" ("DISABLE_OPTIMIZER_ROWGOAL") или флаг трассировки 4138.

Дополнительные сведения можно найти в разделе Update содержит описание аргумента подсказок запроса USE в SQL server 2016. Тем не менее, в сложных запросах может возникнуть вероятность того, какая цель строки применена, и сколько она влияет на выбор плана.

С помощью атрибута EstimateRowsWithoutRowGoal можно сравнивать результаты с атрибутами EstimateRows , чтобы узнать, сколько цель строки влияет на оценки оптимизатора запросов.

Примечание. Если для конкретного оператора плана запроса не применяется цель строки, этот атрибут не включается.

Дополнительная информация

Это обновление включено в накопительный пакет обновления SQL Server, описанный ниже.

       Накопительное обновление 3 для SQL Server 2017

Все новые накопительные обновления для SQL Server содержат все исправления и все исправления для системы безопасности, которые были включены в предыдущий накопительный пакет обновления. Ознакомьтесь с самыми последними накопительными обновлениями для SQL Server.

Последнее накопительное обновление для SQL Server 2017

Сведения о пакете обновления для SQL Server

Это обновление представлено в указанных ниже пакетах обновления для SQL Server.

       Пакет обновления 2 (SP2) для SQL Server 2016

       Пакет обновления 3 (SP3) для SQL Server 2014

Пакеты обновления являются накопительными. Каждый новый пакет обновления включает все исправления из предыдущих пакетов обновления вместе с новыми исправлениями. Наши рекомендации относятся к установке последнего пакета обновления и последнего накопительного обновления для этого пакета обновления. Перед установкой последнего пакета обновления вам не нужно устанавливать предыдущий пакет обновления. С помощью таблицы 1 в следующей статье вы узнаете, как найти дополнительные сведения о последнем пакете обновления и новейшем накопительном обновлении.

Определение версии, выпуска и уровня обновления SQL Server и его компонентов

Ссылки

Ознакомьтесь с терминологией, которую корпорация Майкрософт использует для описания обновлений программного обеспечения.

Нужна дополнительная помощь?

Совершенствование навыков
Перейти к обучению
Первоочередный доступ к новым возможностям
Присоединение к программе предварительной оценки Майкрософт

Были ли сведения полезными?

Насколько вы удовлетворены качеством перевода?
Что повлияло на вашу оценку?

Спасибо за ваш отзыв!

×