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

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

1
План неверных запросов SQL Server 2016 блокирует БД раз в неделю
Раз в неделю, в течение последних 5 недель, примерно в одно и то же время дня (раннее утро, может основываться на активности пользователей, когда люди начинают его использовать), SQL Server 2016 (AWS RDS, зеркальное отображение) начинает время ожидания большого количества времени. запросы. ОБНОВЛЕНИЕ СТАТИСТИКА на всех таблицах всегда исправляет это …

1
Оператор использовал базу данных tempdb для разлива данных во время выполнения с уровнем разлива 2
Я изо всех сил пытаюсь минимизировать стоимость операции сортировки в плане запроса с предупреждением Operator usedtempdbto spill data during execution with spill level 2 Я обнаружил несколько сообщений, связанных с данными о разливах во время выполнения с уровнем разлива 1 , но не с уровнем 2. Кажется , что уровень …

3
Исключить оператор поиска ключей (кластеризованный), который снижает производительность
Как я могу исключить оператор Key Lookup (Clustered) в моем плане выполнения? Таблица tblQuotesуже имеет кластеризованный индекс (on QuoteID) и 27 некластеризованных индексов, поэтому я стараюсь больше не создавать. Я поместил столбец кластеризованного индекса QuoteIDв свой запрос, надеясь, что это поможет, но, к сожалению, все так же План выполнения здесь …

1
Какие факторы стоимости входят в оптимизатор при выборе различных типов катушек?
Spoolum В SQL Server есть несколько видов катушек. Меня интересуют две из них: Table Spool s и Index Spoo , за исключением запросов на изменение . Запросы «только для чтения», особенно на внутренней стороне объединения с вложенными циклами, могут использовать катушку таблиц или индексов, чтобы потенциально сократить число операций ввода-вывода …

1
План выполнения с несколькими отсутствующими индексами
Если вы выполните запрос с «Включить фактический план выполнения», план также предложит отсутствующие индексы. Детали индекса находятся внутри MissingIndexesтега в XML. Есть ли ситуация, когда план включает несколько предложений по индексам? Я пробовал разные sql-запросы, но не смог найти ни одного запроса, который генерирует два или более отсутствующих индекса.

2
Как оптимизировать запрос T-SQL с использованием плана выполнения
У меня есть SQL-запрос, который я провел последние два дня, пытаясь оптимизировать, используя метод проб и ошибок и план выполнения, но безрезультатно. Пожалуйста, прости меня за это, но я опубликую весь план выполнения здесь. Я приложил усилия, чтобы сделать имена таблиц и столбцов в запросе и плане выполнения общими для …

3
Почему существуют различия в плане выполнения между OFFSET… FETCH и старой схемой ROW_NUMBER?
Новая OFFSET ... FETCHмодель, представленная в SQL Server 2012, предлагает простую и быструю подкачку страниц. Почему вообще существуют различия, если учесть, что эти две формы семантически идентичны и очень распространены? Можно предположить, что оптимизатор распознает оба и оптимизирует их (тривиально) в полной мере. Вот очень простой случай, когда OFFSET ... …

1
Индекс не используется с `= any ()`, но используется с `in`
Таблица tимеет два индекса: create table t (a int, b int); create type int_pair as (a int, b int); create index t_row_idx on t (((a,b)::int_pair)); create index t_a_b_idx on t (a,b); insert into t (a,b) select i, i from generate_series(1, 100000) g(i) ; Индекс не используется с anyоператором: explain analyze …

1
Интерпретация XML-кода Showplan для SQL Server
Я только что развернул на своем сайте функцию http://sqlfiddle.com, которая позволяет пользователям просматривать необработанные планы выполнения своих запросов. В случае PostgreSQL, MySQL и (в некоторой степени) Oracle рассмотрение исходного плана выполнения выглядит понятным. Однако, если вы посмотрите на выходные данные плана выполнения для SQL Server (сгенерированные с помощью SET SHOWPLAN_XML …

2
Постоянное сканирование спулинга
У меня есть таблица с несколькими десятками строк. Упрощенная настройка следующая CREATE TABLE #data ([Id] int, [Status] int); INSERT INTO #data VALUES (100, 1), (101, 2), (102, 3), (103, 2); И у меня есть запрос, который соединяет эту таблицу с набором строк, построенных из значений таблицы (из переменных и констант), …

1
Уникальные обновления индексов и счетчики модификаций строк статистики
Учитывая следующую таблицу, уникальный кластерный индекс и статистику: CREATE TABLE dbo.Banana ( pk integer NOT NULL, c1 char(1) NOT NULL, c2 char(1) NOT NULL ); CREATE UNIQUE CLUSTERED INDEX pk ON dbo.Banana (pk); CREATE STATISTICS c1 ON dbo.Banana (c1); CREATE STATISTICS c2 ON dbo.Banana (c2); INSERT dbo.Banana (pk, c1, c2) …

2
В чем смысл и польза от использования SqlCommand.Prepare ()?
Я наткнулся на код разработчика, где метод SqlCommand.Prepare () (см. MSDN) широко используется перед выполнением SQL-запросов. И мне интересно, в чем выгода? Образец: command.Prepare(); command.ExecuteNonQuery(); //... command.Parameters[0].Value = 20; command.ExecuteNonQuery(); Я немного поиграл и проследил. Выполнение команды после вызова Prepare()метода заставляет Sql Server выполнить следующий оператор: declare @p1 int set …

1
SQL Server воссоздает планы каждый день
У нас есть эта проблема в нашей производственной среде. Microsoft SQL Server 2008 R2 (SP1) - 10.50.2500.0 (X64) - Enterprise Edition (64-разрядная версия) в Windows NT 6.1 (сборка 7601: пакет обновления 1). SQL Server отбрасывает все (почти 100%) старые планы выполнения и воссоздает их каждый день в одночасье (с 11:00 …

1
Принудительная шпуля индекса
Я знаю, что этого следует избегать по соображениям производительности, но я пытаюсь показать условие, в котором это выглядит как демонстрация того, как убедиться, что оно не появляется. Однако я получаю предупреждение об отсутствующем индексе, но оптимизатор решает не создавать временный индекс. Я использую запрос SELECT z.a FROM dbo.t5 AS z …

1
Принудительные планы на читаемые вторичные
Если план принудительно применяется к первичному в группе доступности, применяется ли он к запросам, выполняемым на вторичном? Я ищу ответы, которые охватывают обе возможности для составления плана: План руководства Принудительный план магазина запросов Я прочитал следующее, в котором говорится, что принудительные планы QS не переносятся, но я не могу найти …

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