Article View: pl.comp.bazy-danych
Article #194744Re: Relacje w praktyce
From: M.M.
Date: Thu, 17 Dec 2015 15:28
Date: Thu, 17 Dec 2015 15:28
66 lines
4627 bytes
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-mailReferences:
<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