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

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


1
Чому PostgreSQL вибирає дорожче замовлення на приєднання?
PostgreSQL з використанням за замовчуванням плюс default_statistics_target=1000 random_page_cost=1.5 Версія PostgreSQL 10.4 on x86_64-pc-linux-musl, compiled by gcc (Alpine 6.4.0) 6.4.0, 64-bit Я пилососив і аналізував. Запит дуже простий: SELECT r.price FROM account_payer ap JOIN account_contract ac ON ap.id = ac.account_payer_id JOIN account_schedule "as" ON ac.id = "as".account_contract_id JOIN schedule s ON …

3
Чому вибір усіх отриманих стовпців цього запиту швидший, ніж вибір одного стовпця, який мене цікавить?
У мене є запит, коли використання select *не тільки набагато менше читає, але й використовує значно менший час процесора, ніж використання select c.Foo. Це запит: select top 1000 c.ID from ATable a join BTable b on b.OrderKey = a.OrderKey and b.ClientId = a.ClientId join CTable c on c.OrderId = b.OrderId …

1
Чому ця ліва приєднана працює набагато гірше, ніж ЛІВНЕ ПРИЄДНАЙТЕСЬ ЛАТЕРАЛ?
У мене є такі таблиці (взяті з бази даних Sakila): фільм: film_id є pkey актор: glum_id - це кек film_actor: film_id та act_id - фійки для фільму / актора Я підбираю конкретний фільм. Для цього фільму я також хочу всіх акторів, які беруть участь у цьому фільмі. У мене є …

1
Наскільки детермінованим є створення плану виконання в SQL Server?
З огляду на наступні константи: Одна і та ж база даних з однаковою структурою (таблиці, індекси тощо) Ті самі дані Один і той же конфігурація обладнання SQL Server Та сама статистика Ті самі параметри SET у клієнта Ті ж версії SQL Server Такі ж прапори слідів Враховуючи ці константи, чи …

2
Коли sp_executesql оновлює план запитів?
Вам доведеться пробачити мою наївність, оскільки я не DBA, але я розумію, що з часом статистика зміни бази даних і збережена процедура повинні бути перекомпільовані, щоб тримати план запитів в курсі останніх статистичних даних. Якщо припустити, що у моїй базі даних є збережена процедура, яка перекомпільована проти останніх статистичних даних …

1
Чи зберігає SQL Server 2008 дату створення планів виконання?
Нещодавно ми оновили застосований нами додаток, який передбачав зміну схеми для бази даних. Ці зміни могли змусити відмовитися від кешованих планів виконання. Якби SQL Server був змушений створити купу нових планів, це могло б уповільнити роботу користувачів. Я хотів би дізнатися, чи так це було Отже, моє запитання: чи зберігає …

5
Чи працює програма провідника SentryOne Plan?
Чи працює програма SentryOne Plan Explorer як рекламована реклама та чи законна вона? Чи є якісь готчі або щось, що потрібно хвилювати? Схоже, це показує гарячий шлях у кольорі, присвоєний кошмару SSMS з точки зору прогнозованого плану виконання. Моє занепокоєння полягає в тому, - чи змінює якісь дані зловмисно чи …

1
Чому вторинний селективний індекс не використовується, коли пункт фільтрує на "value ()"?
Налаштування: create table dbo.T ( ID int identity primary key, XMLDoc xml not null ); insert into dbo.T(XMLDoc) select ( select N.Number for xml path(''), type ) from ( select top(10000) row_number() over(order by (select null)) as Number from sys.columns as c1, sys.columns as c2 ) as N; Зразок XML …

1
Як оптимізатор SQL Server оцінює кількість рядків у об'єднаній таблиці?
Я виконую цей запит у базі даних AdventureWorks2012 : SELECT s.SalesOrderID, d.CarrierTrackingNumber, d.ProductID, d.OrderQty FROM Sales.SalesOrderHeader s JOIN Sales.SalesOrderDetail d ON s.SalesOrderID = d.SalesOrderID WHERE s.CustomerID = 11077 Якщо я дивлюся на прогнозний план виконання, то бачу таке: Початковий пошук індексу (праворуч угорі) використовує індекс IX_SalesOrderHeader_CustomerID та здійснює пошук у …

3
Чому оператор паралелізму (потоки перерозподілу) зменшить оцінку рядків до 1?
Я використовую SQL Server 2012 Enterprise. Я натрапив на план SQL, який виявляє деяку поведінку, яку я не вважаю цілком інтуїтивно зрозумілою. Після важкої операції паралельного сканування індексу відбувається операція паралелізму (потоки перерозподілу), але вона вбиває оцінки рядків, що повертаються індексом сканування (Object10.Index2), зменшуючи оцінку до 1. Я кілька пошукав, …

2
Чому мій пункт WHERE має перевагу з стовпця "включено"?
Відповідно до цієї відповіді , якщо індекс не побудований над стовпцями, які використовуються для обмеження, запит не матиме користі від індексу. У мене таке визначення: CREATE TABLE [dbo].[JobItems] ( [ItemId] UNIQUEIDENTIFIER NOT NULL, [ItemState] INT NOT NULL, [ItemPriority] INT NOT NULL, [CreationTime] DATETIME NULL DEFAULT GETUTCDATE(), [LastAccessTime] DATETIME NULL DEFAULT …


5
Як я можу видалити поганий план виконання з бази даних Azure SQL?
DBCC FREEPROCCACHEне працює в Azure SQL DB. Як інакше я можу змусити план вигнати себе з кешу таким чином, щоб це не зашкодило виробничій системі (тобто я не можу просто перейти настільно змінювати таблиці невільно)? Це спеціально для SQL, створеного Entity Framework, тому це не самокеровані збережені програми - це …

3
Фізична робота об'єднання: чи гарантує це порядок виконання?
У стандартних SQL результат a union allне гарантується в будь-якому порядку. Отже, щось на кшталт: select 'A' as c union all select 'B' Може повернути два рядки в будь-якому порядку (хоча, на практиці в будь-якій базі даних, про яку я знаю, "A" прийде перед "B"). У SQL Server це перетворюється …

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