Pytania otagowane jako optimization

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



1
Powolne zapytania nie są rejestrowane
Próbuję włączyć powolne rejestrowanie zapytań na naszym serwerze, aby zidentyfikować wszelkie zapytania, które mogłyby skorzystać z optymalizacji. Brzmi dość prosto, jednak mój plik nie jest zapisywany. Nie otrzymuję żadnych błędów ani nic podobnego, po prostu nie rejestruje powolnych zapytań. Pamiętam, aby zrestartować mysql po moich zmianach konfiguracji. Używam MySQL wer. …

1
Dlaczego te podobne zapytania wykorzystują różne fazy optymalizacji (przetwarzanie transakcji vs. szybki plan)?
Przykładowy kod w tym elemencie łączenia Pokazuje błąd gdzie SELECT COUNT(*) FROM dbo.my_splitter_1('2') L1 INNER JOIN dbo.my_splitter_1('') L2 ON L1.csv_item = L2.csv_item Zwraca prawidłowe wyniki. Jednak poniższe wyniki zwracają niepoprawne wyniki (w 2014 r. Przy użyciu nowego narzędzia Kardynalność) SELECT (SELECT COUNT(*) FROM dbo.my_splitter_1('2') L1 INNER JOIN dbo.my_splitter_1('') L2 ON …


2
Dlaczego to zapytanie nie korzysta z mojego nieklastrowanego indeksu i jak mogę to zrobić?
Kontynuując pytanie dotyczące zwiększenia wydajności zapytań, chciałbym wiedzieć, czy istnieje sposób domyślnego użycia mojego indeksu. To zapytanie jest uruchamiane za około 2,5 sekundy: SELECT TOP 1000 * FROM [CIA_WIZ].[dbo].[Heartbeats] WHERE [DateEntered] BETWEEN '2011-08-30' and '2011-08-31'; Ten działa w około 33ms: SELECT TOP 1000 * FROM [CIA_WIZ].[dbo].[Heartbeats] WHERE [DateEntered] BETWEEN '2011-08-30' …


2
Zastosowanie logiki NOT w odniesieniu do indeksów
Zgodnie z książką Microsoftu na temat tworzenia baz danych Egzamin 70-433: Tworzenie baz danych Microsoft SQL Server 2008 : Ani wiodące znaki wieloznaczne, które NIE są logiką, nie pozwalają optymalizatorowi zapytań na użycie indeksów w celu optymalizacji wyszukiwania. Aby uzyskać optymalną wydajność, należy unikać używania słowa kluczowego NOT i wiodących …


2
Powolne skanowanie indeksu w dużym stole
Korzystając z PostgreSQL 9.2, mam problemy z powolnymi zapytaniami na stosunkowo dużej tabeli (ponad 200 milionów wierszy). Nie próbuję niczego szalonego, tylko dodając wartości historyczne. Poniżej znajduje się zapytanie i dane wyjściowe planu zapytania. Mój układ stołu: Table "public.energy_energyentry" Column | Type | Modifiers -----------+--------------------------+----------------------------------------------------------------- id | integer | not …

2
MAXDOP = 1, wskazówki zapytania i próg kosztów dla równoległości
Jeśli wystąpienie MAXDOPustawiono na 1, a podpowiedzi zapytań są używane, aby określone zapytania mogły być równoległe, to czy wartość progowa kosztu równoległości jest nadal używana przez SQL do podjęcia decyzji, czy faktycznie iść równolegle? Nie byłem w stanie wykopać tych konkretnych informacji, chociaż ten link sugeruje, że CTFP jest ignorowany, …

2
W jaki sposób można poprawić oszacowania wierszy, aby zmniejszyć ryzyko wycieków do tempdb
Zauważam, że gdy dochodzi do rozlania zdarzeń tempdb (powodujących powolne zapytania), to często szacunki wierszy są dalekie od konkretnego łączenia. Widziałem zdarzenia rozlewania występujące w połączeniach scalania i mieszania, które często zwiększają czas działania 3x do 10x. To pytanie dotyczy sposobu poprawy oszacowań wierszy przy założeniu, że zmniejszy to ryzyko …

1
Postgres: liczba (*) a liczba (identyfikator)
W dokumentacji widziałem różnicę między count(*)i count(pk). Korzystałem count(pk)(gdzie pka SERIAL PRIMARY KEY) nie wiedząc o istnieniu count(*). Moje pytanie dotyczy wewnętrznych optymalizacji Postgres. Czy jest wystarczająco mądry, aby stwierdzić, że a SERIAL PRIMARY KEYbędzie istniał w każdym rzędzie i nigdy nie będzie fałszywy i po prostu policzy wiersze, czy …



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.