Pytania otagowane jako query-performance

W przypadku pytań dotyczących poprawy wydajności i / lub wydajności zapytań do bazy danych.

4
Czy lepiej jest podzielić duże zapytanie na wiele mniejszych?
Są sytuacje, które wymagają naprawdę dużego zapytania łączącego kilka tabel razem z instrukcjami sub select w celu uzyskania pożądanych rezultatów. Moje pytanie brzmi: czy powinniśmy rozważyć użycie wielu mniejszych zapytań i przenieść operacje logiczne do warstwy aplikacji, wysyłając zapytanie do bazy danych w więcej niż jednym wywołaniu, czy lepiej mieć …

1
Niepożądana pętla zagnieżdżenia a łączenie przez mieszanie w PostgreSQL 9.6
Mam problem z planowaniem zapytań PostgreSQL 9.6. Moje zapytanie wygląda następująco: SET role plain_user; SELECT properties.* FROM properties JOIN entries_properties ON properties.id = entries_properties.property_id JOIN structures ON structures.id = entries_properties.entry_id WHERE structures."STRUKTURBERICHT" != '' AND properties."COMPOSITION" LIKE 'Mo%' AND ( properties."NAME" LIKE '%VASP-ase-preopt%' OR properties."CALCULATOR_ID" IN (7,22,25) ) AND properties."TYPE_ID" …

3
Zapytanie 100 razy wolniejsze w SQL Server 2014, liczba wierszy Wiersz buforowania szacuje winowajcę?
Mam zapytanie, które działa w 800 milisekundach w SQL Server 2012 i zajmuje około 170 sekund w SQL Server 2014 . Myślę, że zawęziłem to do złej oceny liczności dla Row Count Spooloperatora. Przeczytałem trochę o operatorach buforowania (np. Tutaj i tutaj ), ale nadal mam problem ze zrozumieniem kilku …

2
Jak przyspieszyć DISTINCT ON w PostgreSQL?
Mam tabelę station_logsw bazie danych PostgreSQL 9.6: Column | Type | ---------------+-----------------------------+ id | bigint | bigserial station_id | integer | not null submitted_at | timestamp without time zone | level_sensor | double precision | Indexes: "station_logs_pkey" PRIMARY KEY, btree (id) "uniq_sid_sat" UNIQUE CONSTRAINT, btree (station_id, submitted_at) Próbuję uzyskać ostatnią …

1
Wolne zamówienie przez SQL Server
W mojej aplikacji mam zapytanie, które wykonuje wyszukiwanie w tabeli „plików”. Tabela „pliki” jest podzielona na „f”. „Utworzono” (patrz definicja tabeli i ma ~ 26 milionów wierszy dla klienta 19 („f”. „Cid = 19). Chodzi o to, że jeśli wykonam to zapytanie: SELECT "f"."id" AS "FileId" , "f"."name" AS "FileName" …

3
Emuluj funkcję skalarną zdefiniowaną przez użytkownika w sposób, który nie zapobiega równoległości
Próbuję sprawdzić, czy istnieje sposób, aby oszukać SQL Server, aby używał określonego planu dla zapytania. 1. Środowisko Wyobraź sobie, że masz jakieś dane, które są współużytkowane przez różne procesy. Załóżmy, że mamy wyniki eksperymentów, które zajmują dużo miejsca. Następnie dla każdego procesu wiemy, który rok / miesiąc wyniku eksperymentu chcemy …

3
Bardzo wolne proste zapytanie DOŁĄCZ
Prosta struktura DB (na forum online): CREATE TABLE users ( id integer NOT NULL PRIMARY KEY, username text ); CREATE INDEX ON users (username); CREATE TABLE posts ( id integer NOT NULL PRIMARY KEY, thread_id integer NOT NULL REFERENCES threads (id), user_id integer NOT NULL REFERENCES users (id), date timestamp …

2
Czy mogę zmienić to zapytanie, aby działało równolegle?
Mam zapytanie, które działa na naszym serwerze około 3 godzin - i nie korzysta z przetwarzania równoległego. (około 1,15 miliona rekordów dbo.Deidentified, 300 rekordów w dbo.NamesMultiWord). Serwer ma dostęp do 8 rdzeni. UPDATE dbo.Deidentified WITH (TABLOCK) SET IndexedXml = dbo.ReplaceMultiWord(IndexedXml), DE461 = dbo.ReplaceMultiWord(DE461), DE87 = dbo.ReplaceMultiWord(DE87), DE15 = dbo.ReplaceMultiWord(DE15) WHERE …

1
Jak wymusić ocenę skalarnego UDF tylko raz w zapytaniu?
Mam zapytanie, które musi zostać odfiltrowane według wyniku skalarnego UDF. Zapytanie należy wysłać jako pojedynczą instrukcję (więc nie mogę przypisać wyniku UDF do zmiennej lokalnej) i nie mogę użyć TVF. Zdaję sobie sprawę z problemów z wydajnością spowodowanych przez skalarne funkcje UDF, które obejmują wymuszanie seryjnego uruchamiania całego planu, nadmierne …

1
wydajność postgres_fdw jest niska
Wykonanie następującego zapytania dotyczącego obcego zajmuje około 5 sekund w 3,2 milionach wierszy: SELECT x."IncidentTypeCode", COUNT(x."IncidentTypeCode") FROM "IntterraNearRealTimeUnitReflexes300sForeign" x WHERE x."IncidentDateTime" >= '05/01/2016' GROUP BY x."IncidentTypeCode" ORDER BY 1; Kiedy wykonuję to samo zapytanie w normalnej tabeli, zwraca ono za 0,6 sekundy. Plany wykonania są zupełnie inne: Normalny stół Sort …


2
Wydajny sposób na porównanie dwóch dużych zestawów danych w SQL
Obecnie porównuję dwa zestawy danych, które zawierają unikalne StoreKey/ProductKeykombinacje. Pierwszy zestaw danych zawiera unikalne StoreKey/ProductKeykombinacje sprzedaży od początku stycznia 2012 r. Do końca maja 2014 r. (Wynik = 450 tys. Linii). Drugi zestaw danych ma unikatowe StoreKey/ProductKeykombinacje, dla sprzedaży rozpoczynającej się w czerwcu 2014 r., Do dziś (wynik = 190 …

4
Obsługa CXPACKET czeka - ustawienie progu kosztu dla równoległości
W odpowiedzi na moje poprzednie pytanie dotyczące rozwiązywania problemów z witryną Sharepoint zastanawiałem się, czy mogę coś zrobić z czekaniem na CXPACKET. Wiem, że szarpnięciem kolana jest wyłączenie wszelkiej równoległości poprzez ustawienie MAXDOP na 1 - brzmi jak zły pomysł. Ale innym pomysłem jest zwiększenie progu kosztów, zanim rozpocznie się …

3
Dlaczego zapytanie zagregowane jest znacznie szybsze z klauzulą ​​GROUP BY niż bez niej?
Jestem tylko ciekawy, dlaczego zapytanie zagregowane działa o wiele szybciej z GROUP BYklauzulą ​​niż bez niej. Na przykład uruchomienie tego zapytania zajmuje prawie 10 sekund SELECT MIN(CreatedDate) FROM MyTable WHERE SomeIndexedValue = 1 Podczas gdy ten zajmuje mniej niż sekundę SELECT MIN(CreatedDate) FROM MyTable WHERE SomeIndexedValue = 1 GROUP BY …


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.