Czy w najnowszych wersjach PostgreSQL (od grudnia 2013 r.) Możemy udostępnić zapytanie między dwoma lub więcej rdzeniami, aby uzyskać wzrost wydajności? A może powinniśmy uzyskać szybsze rdzenie?
Muszę obliczyć sumę kroczącą w zakresie dat. Aby to zilustrować, korzystając z przykładowej bazy danych AdventureWorks , następująca hipotetyczna składnia zrobiłaby dokładnie to, czego potrzebuję: SELECT TH.ProductID, TH.TransactionDate, TH.ActualCost, RollingSum45 = SUM(TH.ActualCost) OVER ( PARTITION BY TH.ProductID ORDER BY TH.TransactionDate RANGE BETWEEN INTERVAL 45 DAY PRECEDING AND CURRENT ROW) FROM …
Mam wzorzec zapytania, który musi być bardzo powszechny, ale nie wiem, jak napisać dla niego wydajne zapytanie. Chcę wyszukać wiersze tabeli odpowiadające „najnowszej dacie nie później” niż wiersze innej tabeli. Mam, inventorypowiedzmy, tabelę, która reprezentuje ekwipunek, który przechowuję pewnego dnia. date | good | quantity ------------------------------ 2013-08-09 | egg | …
Czytałem wspaniałe artykuły dotyczące buforowania planu SQL Server przez Kimberly Tripp, takie jak ten: http://www.sqlskills.com/blogs/kimberly/plan-cache-and-optimizing-for-adhoc-workloads/ Dlaczego istnieje nawet opcja „optymalizacji pod kątem obciążeń ad hoc”? Czy nie powinno to zawsze być włączone? Niezależnie od tego, czy programiści używają ad-hoc SQL, czy nie, dlaczego nie włączono by tej opcji w każdej …
Mam dość proste zapytanie SELECT TOP 1 dc.DOCUMENT_ID, dc.COPIES, dc.REQUESTOR, dc.D_ID, cj.FILE_NUMBER FROM DOCUMENT_QUEUE dc JOIN CORRESPONDENCE_JOURNAL cj ON dc.DOCUMENT_ID = cj.DOCUMENT_ID WHERE dc.QUEUE_DATE <= GETDATE() AND dc.PRINT_LOCATION = 2 ORDER BY cj.FILE_NUMBER To daje mi okropną wydajność (jakbym nigdy nie zadał sobie trudu, aby czekać na zakończenie). Plan zapytań …
Chcę zrozumieć, dlaczego miałaby być tak ogromna różnica w wykonywaniu tego samego zapytania na UAT (działa w 3 sekundy) w porównaniu z PROD (uruchamianym w 23 sekundy). Zarówno UAT, jak i PROD mają dokładnie dane i indeksy. PYTANIE: set statistics io on; set statistics time on; SELECT CONF_NO, 'DE', 'Duplicate …
Mam instancję PostgreSQL 9.2 działającą na 8-rdzeniowym komputerze RHEL 6.3 z 16 GB pamięci RAM. Serwer jest dedykowany dla tej bazy danych. Biorąc pod uwagę, że domyślny postgresql.conf jest dość konserwatywny w odniesieniu do ustawień pamięci, pomyślałem, że dobrym pomysłem może być zezwolenie Postgresowi na użycie większej ilości pamięci. Ku …
Nasz system zapisuje wiele danych (rodzaj systemu Big Data). Wydajność zapisu jest wystarczająca dla naszych potrzeb, ale wydajność odczytu jest naprawdę zbyt wolna. Struktura klucza podstawowego (ograniczenie) jest podobna dla wszystkich naszych tabel: timestamp(Timestamp) ; index(smallint) ; key(integer). Tabela może zawierać miliony wierszy, a nawet miliardy wierszy, a żądanie odczytu …
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 …
Problem: Mamy witrynę społecznościową, w której członkowie mogą się wzajemnie oceniać pod kątem zgodności lub dopasowania. Ta user_match_ratingstabela zawiera ponad 220 milionów wierszy (9 gig danych lub prawie 20 gig indeksów). Zapytania do tej tabeli rutynowo pojawiają się w slow.log (próg> 2 sekundy) i są najczęściej rejestrowanymi wolnymi zapytaniami w …
Jeśli mam UPDATEinstrukcję, która tak naprawdę nie zmienia żadnych danych (ponieważ dane są już w stanie zaktualizowanym). Czy dodanie WHEREklauzuli w celu zapobieżenia aktualizacji ma jakąkolwiek korzyść w zakresie wydajności ? Na przykład, czy istnieje jakakolwiek różnica w szybkości wykonywania między UPDATE 1 i UPDATE 2 w następujących przypadkach: CREATE …
Udało mi się odtworzyć problem z wydajnością zapytania, który opisałbym jako nieoczekiwany. Szukam odpowiedzi, która koncentruje się na wewnętrznych. Na moim komputerze następujące zapytanie wykonuje skanowanie indeksu klastrowego i zajmuje około 6,8 sekundy czasu procesora: SELECT ID1, ID2 FROM two_col_key_test WITH (FORCESCAN) WHERE ID1 NOT IN ( N'1', N'2',N'3', N'4', …
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.