Запитання з тегом «cardinality-estimates»

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

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. Поля, на …

3
Сортування розливів до tempdb за рахунок varchar (max)
На сервері з 32 ГБ ми запускаємо SQL Server 2014 SP2 з максимальною пам'яттю 25 ГБ, у нас є дві таблиці, тут ви знайдете спрощену структуру обох таблиць: CREATE TABLE [dbo].[Settings]( [id] [int] IDENTITY(1,1) NOT NULL, [resourceId] [int] NULL, [typeID] [int] NULL, [remark] [varchar](max) NULL, CONSTRAINT [PK_Settings] PRIMARY KEY CLUSTERED …

1
Перетворення типу в виразі може вплинути на "CardinalityEstimate" у виборі плану запитів?
Я підтримую архівну базу даних, яка зберігає історичні дані у розділених поданнях. Стовпець розділення - це час дати. Кожна таблиця під представленням зберігає один місяць даних. Ми обмежуємо події в кожній таблиці з обмеженням чека на стовпчик дати. Це дозволяє оптимізатору обмежувати таблиці, які шукаються за запитами, які фільтруються в …

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

3
Як натякнути приєднанню багатьох до багатьох у SQL Server?
У мене є 3 "великих" таблиці, які об'єднуються на пару стовпців (обидві int). Таблиця1 має ~ 200 мільйонів рядків Таблиця2 має ~ 1,5 мільйона рядків Таблиця3 має ~ 6 мільйонів рядків Кожна таблиця має кластерний індекс Key1, Key2і потім ще один стовпець. Key1має низьку кардинальність і дуже перекошений. На це …

2
Оцінка кардинальності для> = і> для значення статистики на внутрішньому етапі
Я намагаюся зрозуміти, як SQL Server намагається оцінити "більше, ніж" і "більше, ніж рівне", де пропозиції в SQL Server 2014. Я думаю, що я розумію оцінку кардинальності, коли вона потрапляє на крок, наприклад, якщо я це роблю select * from charge where charge_dt >= '1999-10-13 10:47:38.550' Оцінка кардинальності - 6672, …
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.