Pytania otagowane jako execution-plan

Strategia wybrana przez optymalizator zapytania do przetworzenia zapytania.


4
Wyszukiwanie indeksu a skanowanie indeksu
Patrząc na plan wykonania wolno działającego zapytania, zauważyłem, że niektóre węzły przeszukują indeks, a niektóre skanują indeks. Jaka jest różnica między wyszukiwaniem indeksu a skanowaniem indeksu? Który działa lepiej? W jaki sposób SQL wybiera jeden od drugiego? Zdaję sobie sprawę, że są to 3 pytania, ale myślę, że odpowiedź na …

3
Nadmiar pamięci sortowania
Dlaczego to proste zapytanie ma tak dużo pamięci? -- Demo table CREATE TABLE dbo.Test ( TID integer IDENTITY NOT NULL, FilterMe integer NOT NULL, SortMe integer NOT NULL, Unused nvarchar(max) NULL, CONSTRAINT PK_dbo_Test_TID PRIMARY KEY CLUSTERED (TID) ); GO -- 100,000 example rows INSERT dbo.Test WITH (TABLOCKX) (FilterMe, SortMe) SELECT …

3
Parametr Sniffing vs VARIABLES vs Recompile vs OPTIMIZE FOR UNKNOWN
Tak więc mieliśmy rano długi proces powodujący problemy (30 sekund + czas działania). Postanowiliśmy sprawdzić, czy winą jest wąchanie parametrów. Tak więc przepisaliśmy proc i zmieniliśmy parametry wejściowe na zmienne, aby wyeliminować wąchanie parametrów. Sprawdzone / prawdziwe podejście. Bam, poprawiony czas zapytania (mniej niż 1 sekunda). Podczas przeglądania planu zapytań …

3
Podstawy planu wykonania - zamieszanie przy dopasowaniu mieszania
Zaczynam się uczyć planów wykonania i jestem zdezorientowany, jak dokładnie działa dopasowanie mieszające i dlaczego miałoby być użyte w prostym złączeniu: select Posts.Title, Users.DisplayName From Posts JOIN Users on Posts.OwnerUserId = Users.Id OPTION (MAXDOP 1) Jak rozumiem, wyniki skanowania indeksu górnego stają się skrótem i każdy wiersz w dolnym skrypcie …

2
W jaki sposób (i dlaczego) TOP wpływa na plan realizacji?
W przypadku średnio złożonego zapytania, które próbuję zoptymalizować, zauważyłem, że usunięcie TOP nklauzuli zmienia plan wykonania. Zgadłbym, że gdy zapytanie zawiera TOP nsilnik bazy danych, uruchomiłoby zapytanie ignorując TOPklauzulę, a następnie na koniec zmniejszyłem zestaw wyników do n żądanej liczby wierszy. Graficzny plan wykonania wydaje się wskazywać, że tak jest …

2
Optymalizacja planów za pomocą czytników XML
Wykonanie zapytania stąd, aby wyciągnąć zdarzenia impasu z domyślnej sesji zdarzeń rozszerzonych SELECT CAST ( REPLACE ( REPLACE ( XEventData.XEvent.value ('(data/value)[1]', 'varchar(max)'), '<victim-list>', '<deadlock><victim-list>'), '<process-list>', '</victim-list><process-list>') AS XML) AS DeadlockGraph FROM (SELECT CAST (target_data AS XML) AS TargetData FROM sys.dm_xe_session_targets st JOIN sys.dm_xe_sessions s ON s.address = st.event_session_address WHERE [name] …



3
Dlaczego program SQL Server używa lepszego planu wykonania, gdy wstawiam zmienną?
Mam zapytanie SQL, które próbuję zoptymalizować: DECLARE @Id UNIQUEIDENTIFIER = 'cec094e5-b312-4b13-997a-c91a8c662962' SELECT Id, MIN(SomeTimestamp), MAX(SomeInt) FROM dbo.MyTable WHERE Id = @Id AND SomeBit = 1 GROUP BY Id MyTable ma dwa indeksy: CREATE NONCLUSTERED INDEX IX_MyTable_SomeTimestamp_Includes ON dbo.MyTable (SomeTimestamp ASC) INCLUDE(Id, SomeInt) CREATE NONCLUSTERED INDEX IX_MyTable_Id_SomeBit_Includes ON dbo.MyTable (Id, SomeBit) …

1
SQL Server 2014: jakieś wyjaśnienie niespójnego oszacowania liczności samodzielnego przyłączenia?
Rozważ następujący plan zapytań w programie SQL Server 2014: W planie zapytań samozłączenie ar.fId = ar.fIddaje szacunkową wartość 1 wiersza. Jest to jednak logicznie niespójne oszacowanie: arma 20,608wiersze i tylko jedną wyraźną wartość fId(dokładnie odzwierciedloną w statystykach). Dlatego to połączenie tworzy pełny iloczyn krzyżowy wierszy ( ~424MMwierszy), co powoduje, że …

3
Indeks kolumny Persisted Computed wymaga wyszukiwania klucza, aby uzyskać kolumny w wyliczonym wyrażeniu
To pytanie zostało przeniesione z przepełnienia stosu, ponieważ można na nie odpowiedzieć w programie Exchange Exchange Administrators Database Administrator. Migrował 6 lat temu . Mam utrwaloną kolumnę obliczeniową na stole, która jest po prostu złożona z połączonych kolumn, np CREATE TABLE dbo.T ( ID INT IDENTITY(1, 1) NOT NULL CONSTRAINT …

1
Czy istnieje jakieś ryzyko związane z udzielaniem użytkownikom uprawnień SQL SHOWPLAN dla programu SQL Server?
To pytanie zostało przeniesione z Przepełnienia stosu, ponieważ można na nie odpowiedzieć w Administratorze baz danych stosu wymiany. Migrował 7 lat temu . Robię dostrajanie wydajności w dużej bazie danych SQL Server 2008, a grupa IT nie chce udzielić pozwolenia SHOWPLAN. W przeszłości „Pokaż plan wykonania” był najskuteczniejszym sposobem zrozumienia …


1
Skąd bierze się to skanowanie ciągłe i lewy zewnętrzny łącznik w trywialnym planie zapytań SELECT?
Mam ten stół: CREATE TABLE [dbo].[Accounts] ( [AccountId] UNIQUEIDENTIFIER UNIQUE NOT NULL DEFAULT NEWID(), -- WHATEVER other columns ); GO CREATE UNIQUE CLUSTERED INDEX [AccountsIndex] ON [dbo].[Accounts]([AccountId] ASC); GO To zapytanie: DECLARE @result UNIQUEIDENTIFIER SELECT @result = AccountId FROM Accounts WHERE AccountId='guid-here' wykonuje się z planem zapytań składającym się z …

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.