🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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?
#195570
Author: Marek S
Date: Wed, 04 Apr 2018 18:53
25 lines
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?
#195571
Author: artiun
Date: Wed, 04 Apr 2018 20:20
32 lines
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?
#195576
Author: irq
Date: Thu, 05 Apr 2018 10:14
2 lines
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?
#195578
Author: Roman Tyczka
Date: Thu, 05 Apr 2018 10:37
29 lines
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?
#195572
Author: Marek S
Date: Thu, 05 Apr 2018 20:41
12 lines
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?
#195577
Author: Marek S
Date: Thu, 05 Apr 2018 20:45
16 lines
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?
#195579
Author: Marek S
Date: Thu, 05 Apr 2018 20:50
15 lines
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?
#195573
Author: Roman Tyczka
Date: Fri, 06 Apr 2018 06:31
14 lines
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?
#195582
Author: Cezary Grądys
Date: Fri, 06 Apr 2018 17:36
29 lines
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?
#195583
Author: Marek S
Date: Fri, 06 Apr 2018 19:59
11 lines
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?
#195574
Author: artiun
Date: Sun, 08 Apr 2018 16:47
25 lines
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?
#195580
Author: artiun
Date: Sun, 08 Apr 2018 17:00
39 lines
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?
#195575
Author: artiun
Date: Sun, 08 Apr 2018 17:07
16 lines
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?
#195581
Author: Roman Tyczka
Date: Mon, 09 Apr 2018 06:57
33 lines
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