Thread View: pl.comp.bazy-danych
14 messages
14 total messages
Started by Marek S
Wed, 04 Apr 2018 18:53
PostgreSQL - jak interpretować explain w celu diagnostyki?
Author: Marek S
Date: Wed, 04 Apr 2018 18:53
Date: Wed, 04 Apr 2018 18:53
25 lines
1964 bytes
1964 bytes
Witam, Miałem właśnie przypadek dość złożonego zapytania SQL. Select pracował ze 20 minut. Próbowałem zapuścić Explain na tym zapytaniu w PGadminie. Powstały jakieś blokowe schemaciki zawierające dane jak koszt itp. Szczerze mówiąc - nie mam bladego pojęcia jak z tego wyciągnąć jakiekolwiek wnioski i ustalić przyczynę, dla której zapytanie tyle czasu wykonywało się. Faktem jest, że rekordów było kilkaset tysięcy, parę Joinów i innych konstrukcji multiplikujących tę ilość. Poddałem się z Explainem. Podzieliłem zapytanie na mniejsze fragmenty by odszukać winowajcę. Tak namierzyłem tabelę, w której ktoś... nie założył indeksów na klucze obce... Czas realizacji po ich założeniu: 0.5s. Patrzę na Explaina dla wersji z indeksami i szczerze mówiąc nie widzę jakiś różnic a w czasie wykonywania jest ogromna. Czytałem instrukcję do bazy na w/w temat. Opis jest taki jakby sami twórcy nie bardzo wiedzieli co z tym zrobić praktycznego. A może nie tak diagnostyka powinna wyglądać? -- Pozdrawiam, Marek
Re: PostgreSQL - jak interpretować explain w celu diagnostyki?
Author: artiun
Date: Wed, 04 Apr 2018 20:20
Date: Wed, 04 Apr 2018 20:20
32 lines
2844 bytes
2844 bytes
W dniu 2018-04-04 o 20:53, Marek S pisze: > Witam, > > Miałem właśnie przypadek dość złożonego zapytania SQL. Select pracował ze 20 > minut. Próbowałem zapuścić Explain na tym zapytaniu w PGadminie. Powstały > jakieś blokowe schemaciki zawierające dane jak koszt itp. Szczerze mówiąc - > nie mam bladego pojęcia jak z tego wyciągnąć jakiekolwiek wnioski i ustalić > przyczynę, dla której zapytanie tyle czasu wykonywało się. Faktem jest, że > rekordów było kilkaset tysięcy, parę Joinów i innych konstrukcji > multiplikujących tę ilość. Też nie wiem (20 min to dziwne, mało, że dziene)... Duza kropa. Pierwsze, integralność danych (awaria dysku itp.) Postgresql ma zabezpieczenia, no chyba, że dysk padł i nie ma gdzie zrzucić danych (plików) > > Poddałem się z Explainem. Podzieliłem zapytanie na mniejsze fragmenty by > odszukać winowajcę. Tak namierzyłem tabelę, w której ktoś... nie założył > indeksów na klucze obce... Czas realizacji po ich założeniu: 0.5s. > Jeśli jest jw. to nic nie pomoże > Patrzę na Explaina dla wersji z indeksami i szczerze mówiąc nie widzę jakiś > różnic a w czasie wykonywania jest ogromna. > > Czytałem instrukcję do bazy na w/w temat. Opis jest taki jakby sami twórcy > nie bardzo wiedzieli co z tym zrobić praktycznego. > > A może nie tak diagnostyka powinna wyglądać? > Skończyło się to? Nie sądzę. -- Artur
Re: PostgreSQL - jak interpretować explain w celu diagnostyki?
Author: irq
Date: Thu, 05 Apr 2018 10:14
Date: Thu, 05 Apr 2018 10:14
2 lines
1588 bytes
1588 bytes
Może spróbuj tutaj: https://explain.depesz.com/ Na samym blogu depesza znajdziesz też cykl wpisów o EXPLAIN, to pierwszy z nich: https://www.depesz.com/2013/04/16/explaining-the-unexplainable/
Re: PostgreSQL - jak interpretować explain w celu diagnostyki?
Author: Roman Tyczka
Date: Thu, 05 Apr 2018 10:37
Date: Thu, 05 Apr 2018 10:37
29 lines
2232 bytes
2232 bytes
On Wed, 4 Apr 2018 20:53:53 +0200, Marek S wrote: > Miałem właśnie przypadek dość złożonego zapytania SQL. Select pracował > ze 20 minut. Próbowałem zapuścić Explain na tym zapytaniu w PGadminie. > Powstały jakieś blokowe schemaciki zawierające dane jak koszt itp. > Szczerze mówiąc - nie mam bladego pojęcia jak z tego wyciągnąć > jakiekolwiek wnioski i ustalić przyczynę, dla której zapytanie tyle > czasu wykonywało się. Faktem jest, że rekordów było kilkaset tysięcy, > parę Joinów i innych konstrukcji multiplikujących tę ilość. > > Poddałem się z Explainem. Podzieliłem zapytanie na mniejsze fragmenty by > odszukać winowajcę. Tak namierzyłem tabelę, w której ktoś... nie założył > indeksów na klucze obce... Czas realizacji po ich założeniu: 0.5s. > > Patrzę na Explaina dla wersji z indeksami i szczerze mówiąc nie widzę > jakiś różnic a w czasie wykonywania jest ogromna. > > Czytałem instrukcję do bazy na w/w temat. Opis jest taki jakby sami > twórcy nie bardzo wiedzieli co z tym zrobić praktycznego. > > A może nie tak diagnostyka powinna wyglądać? Na 100% wynik explaina był inny przed i po indeksach. Usuń indeks, jeszcze raz zrób explain (ale z klauzulą analyze) i pokaż plan. -- pozdrawiam Roman Tyczka
Re: PostgreSQL - jak interpretować explain w celu diagnostyki?
Author: Marek S
Date: Thu, 05 Apr 2018 20:41
Date: Thu, 05 Apr 2018 20:41
12 lines
1282 bytes
1282 bytes
W dniu 2018-04-04 o 22:20, artiun pisze: >> > Skończyło się to? > Nie sądzę. Nooo... tak jak napisałem. Po założeniu indeksów czas realizacji spadł do 0.5s czyli rewelacyjnie. Dlaczego nie sądzisz, że dodanie brakujących indeksów na kluczach obcych nie mogło pomóc? -- Pozdrawiam, Marek
Re: PostgreSQL - jak interpretować explain w celu diagnostyki?
Author: Marek S
Date: Thu, 05 Apr 2018 20:45
Date: Thu, 05 Apr 2018 20:45
16 lines
1483 bytes
1483 bytes
W dniu 2018-04-05 o 12:14, irq pisze: > Może spróbuj tutaj: https://explain.depesz.com/ To jest to samo co Postgres robi bez graficznej reprezentacji narzucanej przez Pgadmina. Tak więc niczego więcej tu się nie dowiem ... w odróżnieniu od poniższego :-) > Na samym blogu depesza znajdziesz też cykl wpisów o EXPLAIN, to pierwszy z nich: https://www.depesz.com/2013/04/16/explaining-the-unexplainable/ > Bardzo dobra informacja! Dzięki :-) -- Pozdrawiam, Marek
Re: PostgreSQL - jak interpretować explain w celu diagnostyki?
Author: Marek S
Date: Thu, 05 Apr 2018 20:50
Date: Thu, 05 Apr 2018 20:50
15 lines
1449 bytes
1449 bytes
W dniu 2018-04-05 o 12:37, Roman Tyczka pisze: > > Na 100% wynik explaina był inny przed i po indeksach. > Usuń indeks, jeszcze raz zrób explain (ale z klauzulą analyze) i pokaż > plan. Faktem jest, że za dużo było tam nic nie mówiących informacji. Z Analyze nie robiłem Niestety nie mogę się bawić z tamtą bazą - to żywy organizm. Moim zadaniem było naprawić problem i to się udało. Spróbuję w wolnej chwili potrenować na jakiejś bazie na boku. -- Pozdrawiam, Marek
Re: PostgreSQL - jak interpretować explain w celu diagnostyki?
Author: Roman Tyczka
Date: Fri, 06 Apr 2018 06:31
Date: Fri, 06 Apr 2018 06:31
14 lines
1334 bytes
1334 bytes
On Thu, 5 Apr 2018 22:41:22 +0200, Marek S wrote: >> Skończyło się to? >> Nie sądzę. > > Nooo... tak jak napisałem. Po założeniu indeksów czas realizacji spadł > do 0.5s czyli rewelacyjnie. Dlaczego nie sądzisz, że dodanie brakujących > indeksów na kluczach obcych nie mogło pomóc? To troll, omijaj. -- pozdrawiam Roman Tyczka
Re: PostgreSQL - jak interpretować explain w celu diagnostyki?
Author: Cezary Grądys
Date: Fri, 06 Apr 2018 17:36
Date: Fri, 06 Apr 2018 17:36
29 lines
2293 bytes
2293 bytes
W dniu 04.04.2018 o 20:53, Marek S pisze: > Witam, > > Miałem właśnie przypadek dość złożonego zapytania SQL. Select pracował > ze 20 minut. Próbowałem zapuścić Explain na tym zapytaniu w PGadminie. > Powstały jakieś blokowe schemaciki zawierające dane jak koszt itp. > Szczerze mówiąc - nie mam bladego pojęcia jak z tego wyciągnąć > jakiekolwiek wnioski i ustalić przyczynę, dla której zapytanie tyle > czasu wykonywało się. Faktem jest, że rekordów było kilkaset tysięcy, > parę Joinów i innych konstrukcji multiplikujących tę ilość. > > Poddałem się z Explainem. Podzieliłem zapytanie na mniejsze fragmenty by > odszukać winowajcę. Tak namierzyłem tabelę, w której ktoś... nie założył > indeksów na klucze obce... Czas realizacji po ich założeniu: 0.5s. > > Patrzę na Explaina dla wersji z indeksami i szczerze mówiąc nie widzę > jakiś różnic a w czasie wykonywania jest ogromna. > > Czytałem instrukcję do bazy na w/w temat. Opis jest taki jakby sami > twórcy nie bardzo wiedzieli co z tym zrobić praktycznego. > > A może nie tak diagnostyka powinna wyglądać? > Poszukaj w PDF Tuning PostgreSQL Andrzeja Klusiewicza, moze cos tam znajdziesz. -- Cezary Grądys <czarekgr@wa.onet.pl>
Re: PostgreSQL - jak interpretować explain w celu diagnostyki?
Author: Marek S
Date: Fri, 06 Apr 2018 19:59
Date: Fri, 06 Apr 2018 19:59
11 lines
1180 bytes
1180 bytes
W dniu 2018-04-06 o 19:36, Cezary Grądys pisze: > > Poszukaj w PDF Tuning PostgreSQL Andrzeja Klusiewicza, moze cos tam > znajdziesz. Znalazłem bloga. Rewelacja :-) Dzięki. -- Pozdrawiam, Marek
Re: PostgreSQL - jak interpretować explain w celu diagnostyki?
Author: artiun
Date: Sun, 08 Apr 2018 16:47
Date: Sun, 08 Apr 2018 16:47
25 lines
2222 bytes
2222 bytes
W dniu 2018-04-06 o 08:31, Roman Tyczka pisze: > On Thu, 5 Apr 2018 22:41:22 +0200, Marek S wrote: > >>> Skończyło się to? >>> Nie sądzę. >> >> Nooo... tak jak napisałem. Po założeniu indeksów czas realizacji spadł >> do 0.5s czyli rewelacyjnie. Dlaczego nie sądzisz, że dodanie brakujących >> indeksów na kluczach obcych nie mogło pomóc? > > To troll, omijaj. > Dziękuję, sąsiadowi.. spotkać taką skąpą i upierdliwą osobę to skarb. PS. weź te swoje uwagi (mam nadzieję, że są małe) wsadź sobie... Jeśli jestem w studni, to omiń mnie z daleka. Jakoś nie miałem okazji Cię spotkać. I Tobie tego życzę. ............ i jakieś głupie odzywki będą ............. -- Artur
Re: PostgreSQL - jak interpretować explain w celu diagnostyki?
Author: artiun
Date: Sun, 08 Apr 2018 17:00
Date: Sun, 08 Apr 2018 17:00
39 lines
3037 bytes
3037 bytes
W dniu 2018-04-05 o 12:37, Roman Tyczka pisze: > On Wed, 4 Apr 2018 20:53:53 +0200, Marek S wrote: > >> Miałem właśnie przypadek dość złożonego zapytania SQL. Select pracował >> ze 20 minut. Próbowałem zapuścić Explain na tym zapytaniu w PGadminie. >> Powstały jakieś blokowe schemaciki zawierające dane jak koszt itp. >> Szczerze mówiąc - nie mam bladego pojęcia jak z tego wyciągnąć >> jakiekolwiek wnioski i ustalić przyczynę, dla której zapytanie tyle >> czasu wykonywało się. Faktem jest, że rekordów było kilkaset tysięcy, >> parę Joinów i innych konstrukcji multiplikujących tę ilość. >> >> Poddałem się z Explainem. Podzieliłem zapytanie na mniejsze fragmenty by >> odszukać winowajcę. Tak namierzyłem tabelę, w której ktoś... nie założył >> indeksów na klucze obce... Czas realizacji po ich założeniu: 0.5s. >> >> Patrzę na Explaina dla wersji z indeksami i szczerze mówiąc nie widzę >> jakiś różnic a w czasie wykonywania jest ogromna. >> >> Czytałem instrukcję do bazy na w/w temat. Opis jest taki jakby sami >> twórcy nie bardzo wiedzieli co z tym zrobić praktycznego. >> >> A może nie tak diagnostyka powinna wyglądać? > > Na 100% wynik explaina był inny przed i po indeksach. > Usuń indeks, Tu Ci utnę, usunąć indeks? To nie są dbf'y (tu powinno być - reindeksacja) jeszcze raz zrób explain (ale z klauzulą analyze) i pokaż > plan. Gratuluję. > -- Artur
Re: PostgreSQL - jak interpretować explain w celu diagnostyki?
Author: artiun
Date: Sun, 08 Apr 2018 17:07
Date: Sun, 08 Apr 2018 17:07
16 lines
1964 bytes
1964 bytes
W dniu 2018-04-06 o 08:31, Roman Tyczka pisze: > On Thu, 5 Apr 2018 22:41:22 +0200, Marek S wrote: > >>> Skończyło się to? >>> Nie sądzę. >> >> Nooo... tak jak napisałem. Po założeniu indeksów czas realizacji spadł >> do 0.5s czyli rewelacyjnie. Dlaczego nie sądzisz, że dodanie brakujących >> indeksów na kluczach obcych nie mogło pomóc? > > To troll, omijaj. > Czekam na bicie w twarz. Z drugiej strony - małolatów nie tykam. -- Artur
Re: PostgreSQL - jak interpretować explain w celu diagnostyki?
Author: Roman Tyczka
Date: Mon, 09 Apr 2018 06:57
Date: Mon, 09 Apr 2018 06:57
33 lines
2526 bytes
2526 bytes
On Sun, 8 Apr 2018 19:00:42 +0200, artiun wrote: >>> Miałem właśnie przypadek dość złożonego zapytania SQL. Select pracował >>> ze 20 minut. Próbowałem zapuścić Explain na tym zapytaniu w PGadminie. >>> Powstały jakieś blokowe schemaciki zawierające dane jak koszt itp. >>> Szczerze mówiąc - nie mam bladego pojęcia jak z tego wyciągnąć >>> jakiekolwiek wnioski i ustalić przyczynę, dla której zapytanie tyle >>> czasu wykonywało się. Faktem jest, że rekordów było kilkaset tysięcy, >>> parę Joinów i innych konstrukcji multiplikujących tę ilość. >>> >>> Poddałem się z Explainem. Podzieliłem zapytanie na mniejsze fragmenty by >>> odszukać winowajcę. Tak namierzyłem tabelę, w której ktoś... nie założył >>> indeksów na klucze obce... Czas realizacji po ich założeniu: 0.5s. >>> >>> Patrzę na Explaina dla wersji z indeksami i szczerze mówiąc nie widzę >>> jakiś różnic a w czasie wykonywania jest ogromna. >>> >>> Czytałem instrukcję do bazy na w/w temat. Opis jest taki jakby sami >>> twórcy nie bardzo wiedzieli co z tym zrobić praktycznego. >>> >>> A może nie tak diagnostyka powinna wyglądać? >> >> Na 100% wynik explaina był inny przed i po indeksach. >> Usuń indeks, > > Tu Ci utnę, usunąć indeks? > To nie są dbf'y (tu powinno być - reindeksacja) pieprzysz jak zwykle -- pozdrawiam Roman Tyczka
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads