🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: Relacje w praktyce

#194740
From: Adam M
Date: Thu, 17 Dec 2015 14:37
49 lines
4571 bytes
On Thursday, December 17, 2015 at 9:25:07 AM UTC-5, 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:
> 
> 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
> 
> 
> -- 
> 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ę"

No i dzieki poswieceniu kolegi dowiedzielismy sie ze idiotyczne zapytanie zabije serwer (prosze nie traktowac tego jako osobista wycieczke - kolega po prostu sprawdzil ze "garbage in -> garbage out").
Juz na pierwszy rzut oka widac ze pierwsze zapytanie bedzie sie wykonywalo w niesamowicie dlugi sposob dzieki full scan na tabelach - do tego nawet nie potrzeba analizowac planu wykonania.
Technical Details
Message-ID: <dc29b961-5a21-4475-bb25-5c5bf14fc56c@googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!news.glorb.com!peer02.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!mv3no13064682igc.0!news-out.google.com!l1ni6136igd.0!nntp.google.com!mv3no17385061igc.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.67.22.234 with SMTP id hv10mr43312433pad.17.1450363079059;        Thu, 17 Dec 2015 06:37:59 -0800 (PST)
X-Received: by 10.182.213.7 with SMTP id no7mr640612obc.9.1450363078991; Thu, 17 Dec 2015 06:37:58 -0800 (PST)
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!news.glorb.com!peer02.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!mv3no13064682igc.0!news-out.google.com!l1ni6136igd.0!nntp.google.com!mv3no17385061igc.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
Newsgroups: pl.comp.bazy-danych
Date: Thu, 17 Dec 2015 06:37:58 -0800 (PST)
In-Reply-To: <1rta7gv38d1fj.1lxp6ct3432o4.dlg@40tude.net>
Complaints-To: groups-abuse@google.com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=70.89.204.241; posting-account=aFGPVQoAAADngh59qlchYygiuB87zBBU
NNTP-Posting-Host: 70.89.204.241
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: <dc29b961-5a21-4475-bb25-5c5bf14fc56c@googlegroups.com>
Subject: Re: Relacje w praktyce
From: Adam M <amorawski@magna-power.com>
Injection-Date: Thu, 17 Dec 2015 14:37:59 +0000
X-Received-Bytes: 4523
X-Received-Body-CRC: 1580382333
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit