Запитання з тегом «execution-plan»

Вибрана оптимізатором запиту стратегія для обробки запиту.

1
Функція плану запиту магазину запитів не працює
Здається, функція плану зберігання запитів не застосовує план. Мені відомо про магазин запитів - примусовий не завжди означає насильницький ; проте мій план може не змінитися незначно, але оптимізатор запитів може продовжувати вибирати неправильні індекси, вибір циклу тощо. В основному: це не шанує мого вимушеного вибору плану. Я змусив багато …

3
Послідовне сканування PostgreSQL замість індексного сканування Чому?
Привіт Все, у мене проблема з запитом до бази даних PostgreSQL і цікаво, чи хтось може допомогти. У деяких сценаріях мій запит, здається, ігнорує створений я індекс, який використовується для з'єднання двох таблиць dataі data_area. Коли це відбувається, він використовує послідовне сканування і призводить до набагато повільнішого запиту. Послідовне сканування …

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

1
Різниця між пошуком присудка і присудка
Я намагаюся налаштувати запит, який у нас є в SQL Server 2014 Enterprise. Я відкрив власне план запитів у SQL Plan Explorer Explorer і на одному вузлі бачу, що він має предикат Seek, а також предикат Яка різниця між пошуком присудка та присудка ? Примітка. Я можу помітити, що з …

2
Чому запит DELETE працює в одному форматі набагато довше, ніж в іншому?
У мене є специфічний код очищення, який намагається видалити деякі дублікати. Це ідеально працює на багатьох сайтах клієнтів. Журнали повідомляють, що цей запит споживає щонайменше 1 сек до 45 сек: DELETE FROM [tbl] WHERE [Id] NOT IN ( SELECT MIN([Id]) FROM [tbl] GROUP BY [IdProject], [IdRepresentative], [TimeStart] ) Але у …

2
Чому я отримую неявну конверсію Int / Smallint у Варчар, і чи дійсно це впливає на оцінки кардинальності?
Я намагаюся усунути повільно виконуючий запит, використовуючи Show Plan Analysis (SSMS) у фактичному плані виконання. Інструмент аналізу вказує, що оцінки кількох рядків відхиляються від повернених результатів в декількох місцях плану, а також надає мені неявні попередження про перетворення. Я не розумію цих неявних перетворень int over на Varchar. Поля, на …

1
План запитів SQL Server XML: довжина QueryPlanHash
ОНОВЛЕННЯ: Це, безумовно, помилка. Для отримання детальної інформації див цей елемент підключення . Під час тестування деяких змін sp_BlitzCache (повне розкриття інформації, я один з авторів), я натрапив на те, що, на мою думку, помилку в нашому коді. В один момент ми підбираємо хеш-план плану запитів, щоб отримати вартість запиту. …

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

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 все ще генерує ітератор сегмента
Я пишу в майбутній публікації свого блогу про функції ранжування та сукупності вікон, зокрема ітераторів проекту сегмента та послідовності. Як я розумію, це те, що сегмент ідентифікує рядки в потоці, які складають кінець / початок групи, тож наступний запит: 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 запити: Запит вище Виклик функції fn_MSgeneration_downloadonly …

1
Дивний план запитів при використанні АБО в пункті JOIN - Постійне сканування для кожного рядка таблиці
Я намагаюся скласти зразок плану запитів, щоб показати, чому UNIONing двох наборів результатів може бути кращим, ніж використання АБО в пункті 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.