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

9
Очень похожие запросы, очень разная производительность

У меня два очень похожих запроса Первый запрос: SELECT count(*) FROM Audits a JOIN AuditRelatedIds ari ON a.Id = ari.AuditId WHERE ari.RelatedId = '1DD87CF1-286B-409A-8C60-3FFEC394FDB1' and a.TargetTypeId IN (1,2,3,4,5,6,7,8,9, 11,12,13,14,15,16,17,18,19, 21,22,23,24,25,26,27,28,29,30,...

9
Почему выполнение удаления моего многораздельного представления приводит к вставке кластерного индекса?

У меня есть разделенное представление, которое имеет ниже триггер вставки (плохой раздел man). Когда я выполняю DELETE, я получаю следующий план запроса: delete from factproductprice where pricedate = '20170725' Триггер на виде: ALTER TRIGGER [dbo].[factProductPriceDelete] ON...

9
MERGE предотвращение блокировки

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

9
Хеш-соединение между таблицами master / detail дает слишком низкую оценку количества элементов

При объединении основной таблицы с подробной таблицей, как я могу побудить SQL Server 2014 использовать оценку мощности таблицы большего размера (подробная) в качестве оценки мощности вывода соединения? Например, при объединении 10К мастер-строк в 100КБ подробных строк я хочу, чтобы SQL Server...

9
Что вызывает высокую загрузку ЦП из этого плана запроса / выполнения?

У меня есть база данных SQL Azure, которая поддерживает приложение API .NET Core. Просмотр отчетов об обзоре производительности на портале Azure показывает, что большая часть нагрузки (использование DTU) на моем сервере базы данных поступает из ЦП, и один запрос специально: Как мы видим, запрос...

9
«Предупреждения: операция вызвала остаточный ввод-вывод» в сравнении с поиском по ключевым словам

Я видел это предупреждение в планах выполнения SQL Server 2017: Предупреждения: Операция вызвала остаточный IO [sic]. Фактическое количество прочитанных строк было (3,321,318), но количество возвращенных строк было 40. Вот фрагмент из SQLSentry PlanExplorer: Чтобы улучшить код, я добавил...

9
Отсутствует некластеризованный индекс, уже являющийся частью кластерного индекса

Я отлаживаю медленно выполняющийся запрос, и в плане выполнения предлагается некластеризованный индекс с воздействием 51.6648. Однако некластеризованный индекс включает только столбцы, которые уже находятся в составном кластерном индексе с первичным ключом (PK). Может ли это быть из-за порядка...

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

Рассмотрим следующий запрос, который разворачивает несколько горстей скалярных агрегатов: SELECT A, B FROM ( SELECT MAX(CASE WHEN ID = 1 THEN 1 ELSE 0 END) VAL1 , MAX(CASE WHEN ID = 2 THEN 1 ELSE 0 END) VAL2 , MAX(CASE WHEN ID = 3 THEN 1 ELSE 0 END) VAL3 , MAX(CASE WHEN ID = 4 THEN 1 ELSE 0 END)...

8
Заказ на хранение против заказа на результат

Это побочный вопрос из порядка сортировки, указанного в первичном ключе, но сортировка выполняется в SELECT . @Catcall говорит это на предмет порядка хранения (кластеризованный индекс) и порядка вывода Многие люди считают, что кластерный индекс гарантирует порядок сортировки на выходе. Но это не...

8
Могу ли я заставить SSMS показывать мне фактическую стоимость запроса на панели плана выполнения?

Я исправляю проблемы с производительностью хранимой процедуры с несколькими состояниями в SQL Server. Я хочу знать, на какие части я должен тратить время. Я понимаю, как читать Query Cost, и всегда ли это процент? что даже когда SSMS предписано включить фактический план выполнения , показатели...

8
Знают ли оптимизаторы запросов к базе данных о различиях в производительности хранилища?

Насколько я понимаю, оптимизатор запросов в SQL Server (или любой другой СУБД, на самом деле) не знает о производительности хранилища под базой данных и будет принимать решения, как если бы все хранилище имело одинаковую стоимость. Это точно, или есть какие-то знания о производительности хранилища,...

8
Эффективное обновление таблицы с помощью JOIN

У меня есть таблица, в которой указаны данные о домохозяйствах, а в другой - данные обо всех лицах, связанных с домохозяйствами. Для таблицы домохозяйств у меня есть первичный ключ, определенный с использованием двух столбцов в нем - [tempId,n]. Для таблицы person у меня есть первичный ключ,...

8
Индекс, который не используется, но влияет на запрос

У меня есть таблица PostgreSQL 9.3 с некоторыми числами и некоторыми дополнительными данными: CREATE TABLE mytable ( myid BIGINT, somedata BYTEA ) Эта таблица в настоящее время имеет около 10 миллионов записей и занимает 1 ГБ дискового пространства. myidне являются последовательными. Я хочу...

8
SQL Server, TOP против ROW_NUMBER

Я изучаю планы выполнения и пробую разные запросы, сравниваю их производительность и наткнулся на это: SELECT StatisticID FROM ( SELECT StatisticID, ROW_NUMBER() OVER (ORDER BY StatisticID) AS rn FROM FTCatalog.Statistic ) AS T WHERE T.rn <= 1000 ORDER BY rn SELECT TOP 1000 StatisticID FROM...

8
Скалярный оператор в поиске предиката

У меня есть следующая упрощенная версия моего фактического запроса в SQL Server 2012. В нем есть скалярный оператор в предикате поиска при выборе данных из таблицы «Контейнеры». Какова цель скалярного оператора в этом предикате поиска? CREATE TABLE #EligibleOrders (OrderID INT PRIMARY KEY, StatusCD...

8
Почему при поиске в столбце BIGINT используются операторы дополнительного постоянного сканирования, вычисления скалярных и вложенных циклов?

Когда я смотрю на фактический план выполнения некоторых из моих запросов, я замечаю, что литеральные константы, используемые в предложении WHERE, отображаются в виде вложенной цепочки вычисления скаляра и константы сканирования . Чтобы воспроизвести это, я использую следующую таблицу CREATE TABLE...

8
100% CPU с плохим планом исполнения

У меня огромная проблема со 100% -ными скачками ЦП из-за неверного плана выполнения, используемого конкретным запросом. Я провожу недели, теперь решаю сам. Моя база данных Моя примерная БД содержит 3 упрощенные таблицы. [Регистратор данных] CREATE TABLE [model].[DataLogger]( [ID] [bigint]...

8
Почему план с ПОЛНОЙ оптимизацией показывает простую параметризацию?

Я читал, что только простые планы могут быть простыми параметризованными , и что не все запросы (даже если план тривиальный) могут быть простыми параметризованными . Тогда почему этот план показывает полную оптимизацию и простую параметризацию одновременно?...