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

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

1
Хеш-агрегат
Питання, яке виникло під час обговорення в чаті: Я знаю, що хеш-приєднання вимикає перемикання внутрішньо на якусь штуку вкладених циклів. Що робить SQL Server для виклику сукупного хеш- пакету (якщо це може статися взагалі)?

1
Які наслідки встановлення ARITHABORT ON для всіх підключень у SQL Server?
Тому я визначив, що хаотична поведінка мого SQL-сервера обумовлена ​​налаштуваннями за замовчуванням .Net SqlClient Provider SET ARITHABORT OFF. Зважаючи на це, я читав різні статті, де обговорюється найкращий спосіб втілити це. Для мене я просто хочу простий спосіб, тому що SQL Server страждає, і моя настройка запитів не повністю перейшла …

1
Чому б не приєднатися до роботи з усунення з sys.query_store_plan?
Далі йде спрощення проблеми з продуктивністю, що виникає із магазином запитів: CREATE TABLE #tears ( plan_id bigint NOT NULL ); INSERT #tears (plan_id) VALUES (1); SELECT T.plan_id FROM #tears AS T LEFT JOIN sys.query_store_plan AS QSP ON QSP.plan_id = T.plan_id; plan_idКолона документована як первинний ключ sys.query_store_plan, але план виконання не …


1
Величезна невідповідність між розміром повідомленого індексу та кількістю буферів у плані виконання
Питання У нас є такий запит SELECT COUNT(1) FROM article JOIN reservation ON a_id = r_article_id WHERE r_last_modified < now() - '8 weeks'::interval AND r_group_id = 1 AND r_status = 'OPEN'; Оскільки у неї виникає час очікування (через 10 хвилин), я вирішив розглянути проблему. EXPLAIN (ANALYZE, BUFFERS)Результат виглядає наступним чином …

1
Плани запитів змінить продуктивність гірше в SQL Server 2014
Нещодавно ми оновили наш сервер з SQL Server 2008R2 до SQL Server 2014. У нас є запит, який спрацював нормально у 2008R2, але тепер у 2014 році працює неймовірно набагато повільніше та має поганий план виконання. Я зробив кілька тестів ... Переключіть БД 2014 року в режим сумісності 2008/2012. Тестуйте …

1
Чому в цьому запиті не використовується основний (кластерний) ключ?
У мене є таблиця S2 Server 2008 R2, структура схеми якої виглядає так: CREATE TABLE [dbo].[CDSIM_BE] ( [ID] [bigint] NOT NULL, [EquipmentID] [varchar](50) NOT NULL, [SerialNumber] [varchar](50) NULL, [PyrID] [varchar](50) NULL, [MeasMode] [varchar](50) NULL, [ReadTime] [datetime] NOT NULL, [SubID] [varchar](15) NULL, [ProbePosition] [float] NULL, [DataPoint] [int] NULL, CONSTRAINT [PK_CDSIM_BE] PRIMARY …

2
Повільний пошук в повному обсязі через дико неточні оцінки рядків
Повнотекстові запити щодо цієї бази даних (зберігання квитків RT ( Tracker Tracker )), здається, займають дуже багато часу. Таблиця вкладених файлів (що містить дані повного тексту) становить приблизно 15 Гб. Схема бази даних така, вона становить приблизно 2 мільйони рядків: rt4 = # \ d + вкладення Таблиця "public.attachments" Стовпець …

2
Чи є спосіб отримати кошторисну вартість виконання запиту в MySQL?
У PostgreSQL, EXPLAIN або EXPLAIN ANALYZE відображатиметься кошторисна вартість виконання запиту. Але EXPLAIN в MySQL не надає цієї інформації. Як я можу отримати кошторисну вартість без встановлення інших інструментів? Я використовую MySQL-5.6.16.

3
Чи зберігаються статистичні дані SQL Server у базі даних або буферному пулі?
Цікаво, що статистичні дані зберігаються в базі даних, але не в пам'яті? Якщо я створюю резервну копію / відновлення бази даних з сервера prod на сервер розвитку, чи збереже вона таку ж статистику, щоб плани виконання не сильно відрізнялися, якщо я це роблю на сервері розробки?

2
Як я можу позбутися непомітної паралельної гілки при невідвороті одного рядка?
Розглянемо наступний запит, який демонструє кілька жмень скалярних агрегатів: 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 …

1
Відсутній некластеризований індекс вже є частиною індексу кластеру
Я налагоджую повільно запущений запит, і в плані виконання пропонується некластеризований індекс із впливом 51.6648. Однак некластеризований індекс включає лише стовпці, які вже знаходяться у складеному кластерному індексі первинного ключа (ПК). Це може бути через порядок стовпців в індексі? тобто, якщо стовпці в кластерному індексі не в порядку від найбільш …

1
Індекс Шукайте операторську вартість
Для AdventureWorks приклад запиту бази даних нижче: SELECT P.ProductID, CA.TransactionID FROM Production.Product AS P CROSS APPLY ( SELECT TOP (1) TH.TransactionID FROM Production.TransactionHistory AS TH WHERE TH.ProductID = P.ProductID ORDER BY TH.TransactionID DESC ) AS CA; Цей план показує виконання Оціночна Оператор Вартість від 0.0850383 (93%) для пошуку по індексу …

1
Хеш-з'єднання між основними / детальними таблицями дає занадто низьку оцінку кардинальності
Як приєднати головну таблицю до таблиці деталей, як я можу заохотити SQL Server 2014 використовувати оцінку кардинальності більшої (детальної) таблиці як оцінку кардинальності виходу об'єднання? Наприклад, при приєднанні 10K головних рядків до рядків деталей 100K, я хочу, щоб SQL Server оцінював приєднання в 100K рядків - те саме, що і …

1
Чому виконання видалення на моєму розділеному представленні призводить до вставки кластерного індексу?
У мене розміщено подання з розділом, що містить нижній тригер вставки (поганий розділ mans). Коли я виконую DELETE, я отримую наступний план запитів: delete from factproductprice where pricedate = '20170725' Тригер на поданні: ALTER TRIGGER [dbo].[factProductPriceDelete] ON [dbo].[FactProductPrice] INSTEAD OF DELETE AS BEGIN IF @@ROWCOUNT = 0 RETURN; DECLARE @PriceDate …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.