Article View: pl.comp.bazy-danych
Article #183294Re: Optymalizacja zapytania
From: Sławomir Szyszło
Date: Tue, 07 Jul 2009 18:08
Date: Tue, 07 Jul 2009 18:08
46 lines
2092 bytes
2092 bytes
Dnia Tue, 7 Jul 2009 09:41:51 -0700 (PDT), MariuszS <mariusz_stefaniak@wp.pl> wklepał(-a): >Mam trzy tabele: >A, która zawiera klientów oraz B i C, która zawiera operacje. >Rekordy z A są używane zarówno w tablicach B jak i C. >Chcę policzyć, ile razy każdy z klientów (A) został użyty w tablicach >B i C. >Napisałem poniższe zapytanie, ale jest ono dość niewydajne. (tablica A >to około 150 tys. rekordów, B - 75 tys, C - 120 tys). >Może ktoś ma pomysł jak to zoptymalizować? >(baza firebird 2.1) > >select A.id_klienta, A.nazwa, count(razem.id_klienta) >from A >left join >( > select id_klienta from B > union all > select id_klienta from C >) razem on razem.id_klienta=A.id_klienta >group by A.id_klienta, A.nazwa >order by A.nazwa Może najpierw policzyć, a potem złączyć? select A.nazwa, ID, cnt ( select sum(cnt), ID from ( Select count(a.id_klienta) cnt, a.id_klienta ID from a union all Select count(b.id_klienta) cnt, b.id_klienta ID from b ) group by ID ) razem, A where razem.ID = A.ID order by A.nazwa; -- Sławomir Szyszło Primus inter FAQires & Grand Inquisitor no.0 of pl.comp.bazy-danych FAQ pl.comp.bazy-danych http://www.dbf.pl/faq/ Archiwum http://groups.google.com/groups?group=pl.comp.bazy-danych
Technical Details
Message-ID:
<h309v3.1ao.1@slaszyszCIACHTO.list.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news2.icm.edu.pl!news.home.net.pl!not-for-mailReferences:
<35f46e7d-36fb-4d54-b096-18a952c3860a@x3g2000yqa.googlegroups.com>Show Full Headers
Complete Article Headers
Message-ID: <h309v3.1ao.1@slaszyszCIACHTO.list.pl> From: Sławomir Szyszło <slaszysz@CIACHTOlist.pl> Newsgroups: pl.comp.bazy-danych Subject: Re: Optymalizacja zapytania Date: Tue, 07 Jul 2009 20:08:02 +0200 Reply-To: slaszysz@CIACHTOlist.pl References: <35f46e7d-36fb-4d54-b096-18a952c3860a@x3g2000yqa.googlegroups.com> X-Newsreader: Forte Agent 1.7/32.534 MIME-Version: 1.0 X-Posting-Agent: Hamster/2.0.2.1 NNTP-Posting-Host: 79.173.2.14 X-Trace: news.home.net.pl 1246990069 79.173.2.14 (7 Jul 2009 20:07:49 +0200) Organization: home.pl news server Lines: 46 X-Authenticated-User: slaszysz.list Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news2.icm.edu.pl!news.home.net.pl!not-for-mail Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit