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 …
Wydaje mi się dziwne, że kiedy zdefiniowałem klucz obcy, silnik nie może użyć tych informacji do automatycznego ustalenia prawidłowych wyrażeń JOIN, ale zamiast tego wymaga ode mnie ponownego wpisania tych samych klauzul. Czy są jakieś bazy danych, być może jakiś projekt badawczy, który sprawdza istniejące klucze obce?
Które złączenie jest lepsze, jeśli wszystkie dają taki sam wynik? Na przykład mam dwie tabele employees(emp_id,name, address, designation, age, sex)i work_log(emp_id,date,hours_wored). Aby uzyskać określone wyniki zarówno inner joini left joindaje ten sam wynik. Ale wciąż mam wątpliwości, które nie ograniczają się tylko do tego pytania. które łączenie jest bardziej wydajne, …
Pracuję nad skomplikowanym problemem, ale uproszczę go do tego problemu. Mam dwa stoliki A [ID, column1, column2, column3] B [ID, column1, column2, column3, column4] i chcę zaktualizować trzeci: C [ID, column1, column2,column3] Aktualizuję kolejną trzecią tabelę za pomocą tego zapytania. UPDATE C set column1=t.firstTab, column2=t.secondTab, column3=t.thirdTab from (select A.column1 as …
Mam tabeli z wierszy 20m, a każdy wiersz ma 3 kolumny: time, id, i value. Dla każdego idi timeistnieje valuestatus. Chcę poznać wartości wyprzedzenia i opóźnienia określonego timedla określonego id. Użyłem dwóch metod, aby to osiągnąć. Jedną z metod jest łączenie, a drugą - funkcja okna lead / lag z …
Chcę zrozumieć następujące. Załóżmy, że mam skomplikowane zapytanie z, powiedzmy, złączeniem 5 tabel w grupie według sumowań i sortowania według. Pomijając wszelkie optymalizacje samego zapytania, np. Indeksy itp. Czy przynoszą jakieś znaczące korzyści w zakresie wydajności LIMIT? Zakładam, że wszystkie zapytania (i wyniki) muszą zostać przetworzone przed zastosowaniem LIMIT, więc …
Poniżej przedstawiono uproszczenie problemu z wydajnością występującego w magazynie zapytań: CREATE TABLE #tears ( plan_id bigint NOT NULL ); INSERT #tears (plan_id) VALUES (1); SELECT T.plan_id FROM #tears AS T LEFT JOIN sys.query_store_plan AS QSP ON QSP.plan_id = T.plan_id; plan_idKolumna jest udokumentowana jako klucz podstawowy sys.query_store_plan, ale plan wykonania nie …
Wcześniej korzystałem z funkcji Full Outer Joins, aby uzyskać pożądane wyniki, ale być może nie do końca rozumiem tę koncepcję, ponieważ nie jestem w stanie osiągnąć czegoś, co powinno być prostym połączeniem. Mam 2 tabele (które nazywam t1 i t2) z 2 polami: t1 Policy_Number Premium 101 15 102 7 …
TLDR; Jeśli spojrzysz na 2 plany wykonania, czy jest łatwa odpowiedź na to, co jest lepsze? Celowo NIE tworzyłem indeksów, więc łatwiej jest zobaczyć, co się dzieje. Kontynuując moje poprzednie pytanie, w którym znaleźliśmy różnicę w wydajności zapytania między różnymi stylami łączenia (tj. Zagnieżdżone vs. tradycyjne), zdałem sobie sprawę, że …
Od tej odpowiedzi do „Z jakiej bazy danych korzysta Google?” : Bigtable nie jest relacyjną bazą danych. Nie obsługuje złączeń ani nie obsługuje bogatych zapytań podobnych do SQL. Czy to oczywiste? Nie rozumiem dlaczego.
Mam 3 „duże” tabele, które łączą się w parę kolumn (obie int). Tabela 1 ma ~ 200 milionów wierszy Tabela 2 ma około 1,5 miliona wierszy Tabela 3 ma około 6 milionów wierszy Każda tabela ma indeks klastrowany Key1, Key2, a następnie jeszcze jedną kolumnę. Key1ma niską liczność i jest …
Mam tabelę zamówień Column | Type | Modifiers ------------+-----------------------------+----------------------------------------------------- id | integer | not null default nextval('orders_id_seq'::regclass) client_id | integer | not null start_date | date | not null end_date | date | order_type | character varying | not null Dane nie nakładają się na stałe zleceń dla id_użytkownika, a …
Oświadczenie: przepraszam za brak wiedzy na temat wewnętrznych elementów bazy danych. Oto jest: Uruchamiamy aplikację (nie napisaną przez nas), która ma duży problem z wydajnością podczas okresowego zadania czyszczenia w bazie danych. Zapytanie wygląda następująco: delete from VARIABLE_SUBSTITUTION where BUILDRESULTSUMMARY_ID in ( select BUILDRESULTSUMMARY_ID from BUILDRESULTSUMMARY where BUILDRESULTSUMMARY.BUILD_KEY = "BAM-1"); …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.