🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: Relacje w praktyce

#194733
From: M.M.
Date: Wed, 16 Dec 2015 13:36
40 lines
3492 bytes
On Wednesday, December 16, 2015 at 1:34:49 PM UTC+1, szemrany 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.


> Złączenie dwóch tabel po kluczu obcym da w wyniku zbiór o
> liczebności nie większej niż większa z tabel, w praktyce zazwyczaj
> mniejszy.
> Z kolei zapytanie typu scalar subquery, czyli:
> 
> select 
> Pole1, 
> (select PoleTB from TabelaB) as Pole2,
> (select PoleTC from TabelaC) as Pole3
> from TabelaA
> 
> powoduje, że dla każdego rekordu TabeliA przeczesujemy wielokrotnie całą
> TabelęB, TabelęC etc. tym samym nie redukując liczby odczytów danych.
Moim zdaniem dla każdego rekordu z TabelaA przeszukamy tylko jeden raz 
TableaB i TabelaC, a jeśli TabelaB i TabelaC mają założone jakieś indeksy, to
nie będą przeszukane całe.


> Wszystko oczywiście w jakiejś mierze redukują optymalizatory, cache,
> indeksy, szybkie dyski itd., ale jak pisałem, nie skupiałem się na sprzęcie
> i implementacji algorytmów tylko teorii złączeń.
Właśnie bym chciał się dowiedzieć o co chodzi w tej teorii.


> Żeby to zweryfikować mależałoby stworzyć jakąś bazę i nasycić ją
> odpowiednią dużą ilością danych, tak, żeby dało się dostrzec rosnące
> różnice w czasie.
W moich doświadczeniach bywało rożnie, nie zawsze zapytanie z join działało
szybciej.


Pozdrawiam
Technical Details
Message-ID: <0036ff34-efd0-44a5-a3e8-41f86342b9fc@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!mv3no12779125igc.0!news-out.google.com!f6ni24646igq.0!nntp.google.com!mv3no12779122igc.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>

Show Full Headers
Complete Article Headers
X-Received: by 10.50.114.4 with SMTP id jc4mr8329734igb.5.1450273004533;        Wed, 16 Dec 2015 05:36:44 -0800 (PST)
X-Received: by 10.182.241.195 with SMTP id wk3mr549688obc.8.1450273004514; Wed, 16 Dec 2015 05:36:44 -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!mv3no12779125igc.0!news-out.google.com!f6ni24646igq.0!nntp.google.com!mv3no12779122igc.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
Newsgroups: pl.comp.bazy-danych
Date: Wed, 16 Dec 2015 05:36:44 -0800 (PST)
In-Reply-To: <1ddns001oye6c.1esk5mwsirwbh$.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>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <0036ff34-efd0-44a5-a3e8-41f86342b9fc@googlegroups.com>
Subject: Re: Relacje w praktyce
From: "M.M." <mmarszik@gmail.com>
Injection-Date: Wed, 16 Dec 2015 13:36:44 +0000
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit