🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.bazy-danych
Article #194744

Re: Relacje w praktyce

#194744
From: M.M.
Date: Thu, 17 Dec 2015 15:28
66 lines
4627 bytes
On Thursday, December 17, 2015 at 3:25:07 PM UTC+1, szemrany wrote:
> On Wed, 16 Dec 2015 07:43:51 -0800 (PST), M.M. wrote:
> 
> > On Wednesday, December 16, 2015 at 4:37:05 PM UTC+1, szemrany wrote:
> >> On Wed, 16 Dec 2015 05:36:44 -0800 (PST), M.M. wrote:
> >> 
> >>>> Chodziło mi o to, że każdy kolejny JOIN eliminuje przetwarzane rekordy i
> >>>> zawęża zbiór przetwarzanych danych, tym samym ogranicza liczbę odczytów z
> >>>> pliku. 
> >>> Ok, a jakie z kolei jest tego uzasadnienie? Moim zdaniem operacje wykonywane w
> >>> joinie wymagają takiego samego przetworzenia jak w podzapytaniu.
> >> 
> >> Się wpakowałem z tym "setki razy" i teraz mnie do tablicy wzywasz każąc
> >> odpowiadać na trudne pytania ;-)
> > Spokojnie, ja tylko chcę się dowiedzieć. Kiedyś ktoś mi powiedział 
> > tak samo i uwierzyłem na słowo. Potem w praktyce było różnie. Pomyślałem że
> > może znasz uzasadnienie. Może to działa w jakiś szczególnych warunkach... 
> > Jeśli nie znasz uzasadnienia, to rozumiem, nie będę dopytywał.
> > 
> > 
> > 
> >> http://stackoverflow.com/questions/1788678/sql-sub-query-or-inner-join
> >> 
> >> To nie jest wyjaśnienie szczegółowe, ale o to samo mi chodzi. 
> >> Szukam ciągle potwierdzenia jakiegoś bardziej "naukowego", ale póki co nie
> >> znalazłem nic na tyle wiarygodnego by było niepodważalne.
> > 
> > Hmmm może to jest mit?
> 
> No to się poświęciłem i zamiast zajmować się pracą robiłem testy, oto
> wyniki "badań" przeprowadzonych na serwerze Firebird 2.5:
Dziękuję uprzejmie :) Trochę mi głupio, że aż tak Cię zaabsorbowałem.

Nie mamy teorii, ale za to mamy doświadczenie praktyczne. Dobrze. To
ja może też zrobię. Ale (jeśli w ogóle zrobię) to w C++. Potem co
bardziej doświadczeni wskażą co poprawić, co warto dodać, etc. W
końcu odpalimy na różnych silnikach, na różnym sprzęcie, na różnych 
rozmiarach tabel, etc.



> 
> http://snap.ashampoo.com/uploads/2015-12-17/ns9NcBYp.png
> 
> Po lewej Twoja wersja zapytania, po prawej z joinami.
> 
> A to realne odczyty wykonane przez serwer:
> 
> http://snap.ashampoo.com/uploads/2015-12-17/IQiC574j.png

Masz milion osób i 540tys aut. Czas z podzapytaniem 1m i 46s.
Czas z group by 15ms. Szok. Zobaczymy jak podobny test
wypadnie w postgresie. 

Pozdrawiam




> 
> 
> -- 
> howgh
> szemrany
> "Trzeba z żywymi naprzód iść, po życie sięgać nowe,
> a nie w uwiędłych laurów liść z uporem stroić głowę"
Technical Details
Message-ID: <eae5303c-2ac1-47bd-8f60-ab2aea63e033@googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!news.glorb.com!g67no1386932qgd.1!news-out.google.com!l1ni6186igd.0!nntp.google.com!mv3no17402376igc.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
References: <1wybpc8c36lsd$.1fen7ule9h1jh$.dlg@40tude.net> <6afe3f6d-b8e9-46af-a682-e1f741c1de22@googlegroups.com> <n4e4mk$sr7$1@usenet.news.interia.pl> <df04af2d-5b69-4906-a05e-ce9bf9af9b07@googlegroups.com> <1tjc7yjmiqguh.11krnzpakf6ri$.dlg@40tude.net> <b79ad5ec-846e-43f5-accf-6eb2f699101d@googlegroups.com> <nk4lort1sib1.kctbavh9wc3g.dlg@40tude.net> <03a7d4b6-93fc-4411-a16b-d09b01180800@googlegroups.com> <6l5i9ybjsi0b$.1dg8u6yw4z4jz$.dlg@40tude.net> <0a73ecf6-e077-41a9-8b13-8334ef196d00@googlegroups.com> <l5s51r5k1n8r$.1c55652qehijb$.dlg@40tude.net> <deab76ac-dc90-41a5-b160-4ab93cbef450@googlegroups.com> <izzsm6fj3oc5$.1huqgrqsag8ft$.dlg@40tude.net> <1ddns001oye6c.1esk5mwsirwbh$.dlg@40tude.net> <0036ff34-efd0-44a5-a3e8-41f86342b9fc@googlegroups.com> <phl63714mm8h.1ccjkrdtm9s44$.dlg@40tude.net> <e24a8b88-d20e-4320-9891-a5d4acfdc6e2@googlegroups.com> <1rta7gv38d1fj.1lxp6ct3432o4.dlg@40tude.net>

Show Full Headers
Complete Article Headers
X-Received: by 10.129.75.136 with SMTP id y130mr7035821ywa.2.1450366114692;        Thu, 17 Dec 2015 07:28:34 -0800 (PST)
X-Received: by 10.182.73.167 with SMTP id m7mr641647obv.11.1450366114646; Thu, 17 Dec 2015 07:28:34 -0800 (PST)
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!news.glorb.com!g67no1386932qgd.1!news-out.google.com!l1ni6186igd.0!nntp.google.com!mv3no17402376igc.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
Newsgroups: pl.comp.bazy-danych
Date: Thu, 17 Dec 2015 07:28:34 -0800 (PST)
In-Reply-To: <1rta7gv38d1fj.1lxp6ct3432o4.dlg@40tude.net>
Complaints-To: groups-abuse@google.com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=77.254.47.3; posting-account=xjvq9QoAAAATMPC2X3btlHd_LkaJo_rj
NNTP-Posting-Host: 77.254.47.3
References: <1wybpc8c36lsd$.1fen7ule9h1jh$.dlg@40tude.net> <6afe3f6d-b8e9-46af-a682-e1f741c1de22@googlegroups.com> <n4e4mk$sr7$1@usenet.news.interia.pl> <df04af2d-5b69-4906-a05e-ce9bf9af9b07@googlegroups.com> <1tjc7yjmiqguh.11krnzpakf6ri$.dlg@40tude.net> <b79ad5ec-846e-43f5-accf-6eb2f699101d@googlegroups.com> <nk4lort1sib1.kctbavh9wc3g.dlg@40tude.net> <03a7d4b6-93fc-4411-a16b-d09b01180800@googlegroups.com> <6l5i9ybjsi0b$.1dg8u6yw4z4jz$.dlg@40tude.net> <0a73ecf6-e077-41a9-8b13-8334ef196d00@googlegroups.com> <l5s51r5k1n8r$.1c55652qehijb$.dlg@40tude.net> <deab76ac-dc90-41a5-b160-4ab93cbef450@googlegroups.com> <izzsm6fj3oc5$.1huqgrqsag8ft$.dlg@40tude.net> <1ddns001oye6c.1esk5mwsirwbh$.dlg@40tude.net> <0036ff34-efd0-44a5-a3e8-41f86342b9fc@googlegroups.com> <phl63714mm8h.1ccjkrdtm9s44$.dlg@40tude.net> <e24a8b88-d20e-4320-9891-a5d4acfdc6e2@googlegroups.com> <1rta7gv38d1fj.1lxp6ct3432o4.dlg@40tude.net>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <eae5303c-2ac1-47bd-8f60-ab2aea63e033@googlegroups.com>
Subject: Re: Relacje w praktyce
From: "M.M." <mmarszik@gmail.com>
Injection-Date: Thu, 17 Dec 2015 15:28:34 +0000
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit