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

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

1
ВИСТАВКА СТАТИСТИКИ IO - робочий стіл / робочий файл
Я виконую запит, який виробляє план: Статистика IO: Table 'Worktable'. Scan count 0, logical reads 0, physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0. Table 'Workfile'. Scan count 128, logical reads 5952, physical reads 576, read-ahead reads 6080, lob logical …

1
Ключі хеш-зонду та залишки
Скажімо, у нас такий запит: select a.*,b.* from a join b on a.col1=b.col1 and len(a.col1)=10 Якщо припустити, що вищезазначений запит використовує Hash Join і має залишковий, ключ зонда буде col1і залишковий len(a.col1)=10. Але переглядаючи інший приклад, я міг бачити, як зонд, так і залишковий той самий стовпчик. Нижче йде детальна …

1
Чому SQL Server "Обчислити скалярний", коли Я ВИБІРУ персистуюну обчислену колонку?
Три SELECTтвердження в цьому коді USE [tempdb]; GO SET NOCOUNT ON; CREATE TABLE dbo.persist_test ( id INT NOT NULL , id5 AS (id * 5) , id5p AS (id * 5) PERSISTED ); INSERT INTO dbo.persist_test (id) VALUES (1), (2), (3); SELECT id FROM dbo.persist_test; SELECT id5 FROM dbo.persist_test; SELECT …

1
Чи повинен я насторожитися цим попередженням NO NO PREDICATE?
Я усуваю проблеми з бітами та фрагментами погано виконаної збереженої процедури. У цьому розділі процедури наводиться попередження NO JOIN PREDICATE select method = case methoddescription when 'blah' then 'Ethylene Oxide' when NULL then 'N/A' else methoddescription end, testmethod = case methoddescription when 'blah' then 'Biological Indicators' when NULL then 'N/A' …

2
Рядок повторної перевірки Cond: в планах запитів при скануванні растрової карти
Це відмова від коментарів до попереднього питання: Запит Postgres 9.4.4 займає назавжди Використовуючи PostgreSQL 9.4, завжди здається, що Recheck Cond:рядок після сканування індексу растрових зображень у планах запитів виводиться EXPLAIN. Як і у EXPLAINвисновку згаданого питання: -> Bitmap Heap Scan on table_three (cost=2446.92..19686.74 rows=8159 width=7) Recheck Cond: (("timestamp" > (now() …

2
Знайдені запити без гарного достатнього плану
У мене є база даних SQL Server 2012. Я помітив значення Reason for early termination of statement optimizationдля деяких запитів і все дав Good Enough Plan Found. Тепер мої запитання: Назвіть усі можливі типи "Причини дострокового припинення оптимізації операторів". Я шукав це в msdn, але не отримав повного списку значень. …

4
План виконання проти замовлення IO STATISTICS
Графічні плани виконання SQL Server читаються справа вліво і зверху вниз. Чи є осмислене замовлення на результат, породжений SET STATISTICS IO ON? Наступний запит: SET STATISTICS IO ON; SELECT * FROM Sales.SalesOrderHeader AS soh JOIN Sales.SalesOrderDetail AS sod ON soh.SalesOrderID = sod.SalesOrderID JOIN Production.Product AS p ON sod.ProductID = p.ProductID; …

2
T-SQL-запит із використанням абсолютно іншого плану в залежності від кількості рядків, які я оновлюю
У мене є оператор SQL UPDATE з пунктом "TOP (X)", і рядок, в якому я оновлюю значення, містить близько 4 мільярдів рядків. Коли я використовую "TOP (10)", я отримую один план виконання, який виконується майже миттєво, але коли я використовую "TOP (50)" або більше, запит ніколи (принаймні, не під час …

2
Чи можете ви пояснити цей план виконання?
Я досліджував щось інше, коли натрапляв на цю річ. Я генерував тестові таблиці з деякими даними в ньому і запускав різні запити, щоб дізнатися, як різні способи запиту впливають на план виконання. Ось сценарій, який я використовував для генерації випадкових даних тесту: IF EXISTS (SELECT * FROM sys.objects WHERE object_id …

3
Trace Flag 4199 - включити глобально?
Це може підпадати під категорію думок, але мені цікаво, якщо люди використовують прапор сліду 4199 як параметр запуску для SQL Server. Для тих, хто ним користувався, за яких обставин ви зазнали регресії запитів? Це, звичайно, здається, що це потенційна вигода від ефективності в усіх сферах, я розглядаю можливість включити її …

1
Коли SQL Server попереджає про надмірне надання пам'яті?
Які умови створюють попередження щодо плану надмірного дотації ? Грант пам'яті запиту виявив "Надмірний гарант", що може вплинути на надійність. Розмір гранту: початковий 5128 кб, остаточний 5128 кб, використано 16 кб. SSMS План провідника Showplan xml <Warnings> <MemoryGrantWarning GrantWarningKind="Excessive Grant" RequestedMemory="5128" GrantedMemory="5128" MaxUsedMemory="16" /> </Warnings>

1
Однорядний ВСТАВКА… ВИБІРИ набагато повільніше, ніж окремий SELECT
Враховуючи наступну таблицю купи з 400 рядками, пронумерованими від 1 до 400: DROP TABLE IF EXISTS dbo.N; GO SELECT SV.number INTO dbo.N FROM master.dbo.spt_values AS SV WHERE SV.[type] = N'P' AND SV.number BETWEEN 1 AND 400; та наступні налаштування: SET NOCOUNT ON; SET STATISTICS IO, TIME OFF; SET STATISTICS XML …

2
Як виміряти або знайти вартість створення плану запитів?
У мене є типовий випадок, коли нюхання параметрів призводить до того, що "кепський" план виконання посадки в кеш плану, внаслідок чого наступні виконання моєї збереженої процедури відбуваються дуже повільно. Я можу "вирішити" цю проблему за допомогою локальних змінних OPTIMIZE FOR ... UNKNOWN, та OPTION(RECOMPILE). Однак я також можу зануритися в …

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

1
Попередження в плані запитів "Оцінка кардинальності"
create table T(ID int identity primary key) insert into T default values insert into T default values go select cast(ID as varchar(10)) as ID from T where ID = 1 Наведений вище запит містить попередження в плані запитів. <Warnings> <PlanAffectingConvert ConvertIssue="Cardinality Estimate" Expression="CONVERT(varchar(10),[xx].[dbo].[T].[ID],0)" /> </Warnings> Чому воно має попередження? Як …

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