Pytania otagowane jako optimization

W kontekście bazy danych optymalizacja odnosi się do procesu optymalizatora zapytań, który wybiera efektywny fizyczny plan wykonania.

6
Jak ustalić, czy Indeks jest wymagany czy konieczny
Uruchomiłem narzędzie autoindeksowania w naszej bazie danych MS SQL (zmodyfikowałem skrypt pochodzący od Microsoft, który przegląda tabele statystyk indeksów - Automated Auto Indexing ). Ze statystyk mam teraz listę rekomendacji dla indeksów, które wymagają utworzenia. Edycja: Indeksy opisane powyżej pobierają informacje z DMV, które mówią ci, co silnik bazy danych …

4
Optymalizacja zapytań w zakresie znaczników czasu (dwie kolumny)
Używam PostgreSQL 9.1 na Ubuntu 12.04. Muszę wybrać rekordy w określonym przedziale czasu: moja tabela time_limitsma dwa timestamppola i jedną integerwłaściwość. W mojej rzeczywistej tabeli znajdują się dodatkowe kolumny, które nie są związane z tym zapytaniem. create table ( start_date_time timestamp, end_date_time timestamp, id_phi integer, primary key(start_date_time, end_date_time,id_phi); Ta tabela …

3
Kiedy używać widoków w MySQL?
Kiedy tworzysz tabele z wielu sprzężeń do użytku w analizie, kiedy preferowane jest używanie widoków zamiast tworzenia nowej tabeli? Jednym z powodów, dla których wolałbym używać widoków, jest to, że schemat bazy danych został opracowany przez naszego administratora z Rubiego i nie znam go. Mogę zażądać utworzenia tabel, ale wymaga …

4
Czy widoki są szkodliwe dla wydajności w PostgreSQL?
Poniżej znajduje się fragment książki o projekcie db (Początkowy projekt bazy danych ISBN: 0-7645-7490-6): Niebezpieczeństwo związane z używaniem widoków polega na filtrowaniu zapytania względem widoku, spodziewając się odczytania bardzo małej części bardzo dużej tabeli. Wszelkie filtrowanie powinno odbywać się w widoku, ponieważ wszelkie filtrowanie względem samego widoku jest stosowane po …

3
Nieoczekiwane skanowanie podczas operacji usuwania przy użyciu GDZIE
Mam zapytanie podobne do następującego: DELETE FROM tblFEStatsBrowsers WHERE BrowserID NOT IN ( SELECT DISTINCT BrowserID FROM tblFEStatsPaperHits WITH (NOLOCK) WHERE BrowserID IS NOT NULL ) tblFEStatsBrowsers ma 553 wierszy. tblFEStatsPaperHits ma 47.974.301 wierszy. tblFEStatsBrowsers: CREATE TABLE [dbo].[tblFEStatsBrowsers]( [BrowserID] [smallint] IDENTITY(1,1) NOT NULL, [Browser] [varchar](50) NOT NULL, [Name] [varchar](40) NOT …

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 …

1
UŻYWANIE konstruktu w klauzuli JOIN może w niektórych przypadkach wprowadzić bariery optymalizacyjne?
Zwrócono mi uwagę, że USINGkonstrukcja (zamiast ON) w FROMklauzuli SELECTzapytań może w niektórych przypadkach wprowadzić bariery optymalizacyjne. Mam na myśli to słowo kluczowe: WYBIERZ * Od Dołącz b UŻYCIEM (a_id) Tylko w bardziej skomplikowanych przypadkach. Kontekst: ten komentarz do tego pytania . Używam tego bardzo często i jak dotąd niczego …

5
Operatory logiczne LUB ORAZ w stanie i porządku warunków GDZIE
Przeanalizujmy te dwa stwierdzenia: IF (CONDITION 1) OR (CONDITION 2) ... IF (CONDITION 3) AND (CONDITION 4) ... Jeśli CONDITION 1tak TRUE, zostanie CONDITION 2sprawdzone? Jeśli CONDITION 3tak FALSE, zostanie CONDITION 4sprawdzone? Co z warunkami na WHERE: czy silnik SQL Server optymalizuje wszystkie warunki w WHEREklauzuli? Czy programiści powinni umieszczać …

2
Optymalizacja zapytania Postgres z dużym IN
To zapytanie zawiera listę postów utworzonych przez osoby, które obserwujesz. Możesz śledzić nieograniczoną liczbę osób, ale większość osób śledzi <1000 innych. Przy takim stylu zapytań oczywistą optymalizacją byłoby buforowanie "Post"identyfikatorów, ale niestety nie mam teraz na to czasu. EXPLAIN ANALYZE SELECT "Post"."id", "Post"."actionId", "Post"."commentCount", ... FROM "Posts" AS "Post" INNER …

4
Dlaczego szacowany koszt (tego samego) 1000 poszukiwań dla unikalnego indeksu różni się w tych planach?
W poniższych zapytaniach szacuje się, że oba plany wykonania wykonają 1000 wyszukiwań na unikalnym indeksie. Poszukiwania są sterowane przez uporządkowane skanowanie w tej samej tabeli źródłowej, więc najwyraźniej powinno się kończyć szukanie tych samych wartości w tej samej kolejności. Obie zagnieżdżone pętle mają <NestedLoops Optimized="false" WithOrderedPrefetch="true"> Czy ktoś wie, dlaczego …

5
Dlaczego moje zapytanie SELECT DISTINCT TOP N skanuje całą tabelę?
Natknąłem się na kilka SELECT DISTINCT TOP Nzapytań, które wydają się być słabo zoptymalizowane przez optymalizator zapytań SQL Server. Zacznijmy od trywialnego przykładu: tabela z milionami wierszy z dwiema naprzemiennymi wartościami. Użyję GetNums funkcji do generowania danych: DROP TABLE IF EXISTS X_2_DISTINCT_VALUES; CREATE TABLE X_2_DISTINCT_VALUES (PK INT IDENTITY (1, 1), …

3
SQL Server dzieli A <> B na A <B LUB A> B, dając dziwne wyniki, jeśli B jest niedeterministyczny
Napotkaliśmy ciekawy problem z programem SQL Server. Rozważ następujący przykład repro: CREATE TABLE #test (s_guid uniqueidentifier PRIMARY KEY); INSERT INTO #test (s_guid) VALUES ('7E28EFF8-A80A-45E4-BFE0-C13989D69618'); SELECT s_guid FROM #test WHERE s_guid = '7E28EFF8-A80A-45E4-BFE0-C13989D69618' AND s_guid &lt;&gt; NEWID(); DROP TABLE #test; skrzypce Proszę na chwilę zapomnieć, że s_guid &lt;&gt; NEWID()warunek wydaje się …

2
Oszacowanie liczności dla operatora LIKE (zmienne lokalne)
Miałem wrażenie, że podczas korzystania z LIKEoperatora we wszystkich optymalizacjach dla nieznanych scenariuszy zarówno starsze, jak i nowe CE używają szacunku 9% (zakładając, że odpowiednie statystyki są dostępne, a optymalizator zapytań nie musi uciekać się do domysłów selektywności). Podczas wykonywania poniższego zapytania względem bazy danych kredytów otrzymuję różne szacunki w …


1
Czy zachowanie ogrodzenia optymalizacyjnego CTE (Z zapytaniem) jest określone w standardzie SQL: 2008? Jeśli tak to gdzie?
Widzę częste odniesienia do WITHzapytań (wspólne wyrażenia tabelowe lub CTE), które działają jak płot optymalizacyjny, w którym serwer nie może wypychać filtrów w dół do zapytań CTE, wyciągać typowe wyrażenia z CTE itp. być zachowaniem wymaganym przez standardy SQL. CTE są zdecydowanie ogrodzeniem optymalizacyjnym w PostgreSQL ... ale czy jest …

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.