Pytania otagowane jako execution-plan

Strategia wybrana przez optymalizator zapytania do przetworzenia zapytania.


3
Skanowanie sekwencyjne PostgreSQL zamiast skanowania indeksu Dlaczego?
Cześć Wszystko Mam problem z zapytaniem do bazy danych PostgreSQL i zastanawiam się, czy ktoś może pomóc. W niektórych scenariuszach moje zapytanie wydaje się ignorować utworzony przeze mnie indeks, który służy do łączenia dwóch tabel datai data_area. Kiedy tak się dzieje, wykorzystuje skanowanie sekwencyjne i powoduje znacznie wolniejsze zapytanie. Skanowanie …

3
Jak badać wydajność instrukcji BULK INSERT?
Jestem głównie programistą .NET korzystającym z Entity Framework ORM. Ponieważ jednak nie chcę zawieść przy użyciu ORM , staram się zrozumieć, co dzieje się w warstwie danych (bazie danych). Zasadniczo podczas programowania uruchamiam profiler i sprawdzam, jakie części kodu generują zapytania. Jeśli zauważę coś bardzo skomplikowanego (ORM może generować okropne …


2
Dlaczego zapytanie DELETE działa w jednym formacie znacznie dłużej niż w innym?
Mam określony kod czyszczenia, który próbuje usunąć niektóre duplikaty. Działa to doskonale na wielu stronach klientów. Dzienniki mówią mi, że zapytanie to zajmuje co najmniej 1 sekundę do 45 sekund: DELETE FROM [tbl] WHERE [Id] NOT IN ( SELECT MIN([Id]) FROM [tbl] GROUP BY [IdProject], [IdRepresentative], [TimeStart] ) Ale mam …

2
Dlaczego otrzymuję niejawną konwersję Int / Smallint na Varchar i czy to naprawdę wpływa na oszacowania liczności?
Próbuję rozwiązać problem z użyciem wolno działającego zapytania przy użyciu narzędzia Show Plan Analysis (SSMS) w rzeczywistym planie wykonania. Narzędzie analizy wskazuje, że szacunki dotyczące liczby wierszy są wyłączone z wyników zwróconych w kilku miejscach w planie, a ponadto daje mi pewne niejawne ostrzeżenia dotyczące konwersji. Nie rozumiem tych niejawnych …

1
SQL Server Query Plan XML: QueryPlanHash Length
AKTUALIZACJA: To zdecydowanie błąd. Aby uzyskać szczegółowe informacje, zobacz ten przedmiot Connect . Podczas testowania niektórych zmian w sp_BlitzCache (pełne ujawnienie, jestem jednym z autorów), natknąłem się na coś, co moim zdaniem było błędem w naszym kodzie. W pewnym momencie dopasowujemy skrót planu zapytania, aby uzyskać koszt zapytania. Robimy to …

2
Dziwne zachowanie agregacji strumienia
Pytanie: declare @X xml = ' <item ID = "0"/> <item ID = "1"/> <item/> <item/>'; select I.X.value('@ID', 'int') from @X.nodes('/item') as I(X); Wynik: ----------- 0 1 NULL NULL Plan wykonania: Górna gałąź niszczy XML do czterech wierszy, a dolna gałąź pobiera wartość atrybutu ID. To, co wydaje mi się …

4
Serwer Sql nie używa indeksu przy prostej bijectcji
To kolejna zagadka optymalizatora zapytań. Może po prostu przeszacowuję optymalizatory zapytań, a może coś mi brakuje - więc zamieszczam to. Mam prosty stół CREATE TABLE [dbo].[MyEntities]( [Id] [uniqueidentifier] NOT NULL, [Number] [int] NOT NULL, CONSTRAINT [PK_dbo.MyEntities] PRIMARY KEY CLUSTERED ([Id]) ) CREATE NONCLUSTERED INDEX [IX_Number] ON [dbo].[MyEntities] ([Number]) z indeksem …

3
Jak odpowiedzieć, dlaczego nagle potrzebujemy indeksów lub zapytania należy zmienić
Jestem junior DBA z 3-letnim doświadczeniem. Naszym zadaniem jest dostrajanie zapytań lub doradzanie programistom, że określony kod powinien zostać przepisany lub potrzebne są indeksy. Jedno proste pytanie, które często zadaje zespół programistów, brzmi: „Wczoraj wszystko poszło dobrze, co się nagle zmieniło?” i zostaniemy poproszeni o sprawdzenie strony infrastruktury. Pierwszą reakcją …

1
Czy lepiej byłoby, gdyby plany zapytań zostały podzielone według instrukcji ponownego użycia?
Z mojej ograniczonej wiedzy o tym, jak plany kwerend są kompilowane, przechowywane i pobierane przez zapytania, rozumiem, że zapytanie składające się z wielu instrukcji lub procedura składowana wygeneruje swój plan zapytań, który będzie przechowywany w pamięci podręcznej planu zapytań do wykorzystania przez zapytanie w przyszłych wykonaniach. Myślę, że ten plan …

2
Zrozumienie statystyk, planów wykonania i „rosnącego kluczowego problemu”
Staram się lepiej zrozumieć (koncepcyjnie) związek między statystykami, planami wykonania, wykonywaniem procedury składowanej. Czy mam rację mówiąc, że statystyki są używane tylko podczas tworzenia planu wykonania dla procedury składowanej i nie są używane w rzeczywistym kontekście wykonania? Innymi słowy, jeśli jest to prawdą, po utworzeniu planu (i przy założeniu, że …

2
ROW_NUMBER () bez PARTITION BY nadal generuje iterator segmentów
Piszę na jednym z moich nadchodzących postów na blogu o funkcjach okna rankingu i agregacji, w szczególności iteratorach projektu Segment i Sekwencja. Rozumiem, że Segment identyfikuje wiersze w strumieniu, które stanowią koniec / początek grupy, więc następujące zapytanie: SELECT ROW_NUMBER() OVER (PARTITION BY someGroup ORDER BY someOrder) Użyje Segmentu, aby …

1
Szacowany w porównaniu do faktycznego planu zapytań z wywołaniami funkcji
Mam to zapytanie na serwerze SQL, zapytanie replikacji scalającej: SELECT DISTINCT b.tablenick, b.rowguid, c.generation, sys.fn_MSgeneration_downloadonly ( c.generation, c.tablenick ) FROM #belong b LEFT OUTER JOIN dbo.MSmerge_contents c ON c.tablenick = b.tablenick AND c.rowguid = b.rowguid; Szacowany plan zapytań zawiera informacje o 3 zapytaniach: Powyższe zapytanie Wywołanie funkcji do fn_MSgeneration_downloadonly Wywołanie …

1
Dziwny plan zapytań przy użyciu OR w klauzuli JOIN - Stałe skanowanie dla każdego wiersza w tabeli
Próbuję stworzyć przykładowy plan zapytań, aby pokazać, dlaczego UNIONing dwóch zestawów wyników może być lepszy niż użycie OR w klauzuli JOIN. Napisany przeze mnie plan zapytań mnie zaskoczył. Korzystam z bazy danych StackOverflow z indeksem nieklastrowanym na Users.Reputation. Zapytanie to CREATE NONCLUSTERED INDEX IX_NC_REPUTATION ON dbo.USERS(Reputation) SELECT DISTINCT Users.Id FROM …

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.