🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: PostgreSQL - jak zbudować optymalne zapytanie?

#194305
From: Marek
Date: Sat, 28 Feb 2015 21:47
37 lines
2464 bytes
W dniu 2015-02-27 o 12:22, hubert depesz lubaczewski pisze:

> Po pierwsze - podałeś za mało danych. Sam fakt jak łączysz tabele jest
> niemalże nieistotny. Podany przez Ciebie link, sam w sobie może
> i ciekawy, ale nie ma większego znaczenia - ważne jest całe zapytanie
> które będziesz miał (jakieś klauzule where? group by?).

Nie potrafię przytoczyć bardziej precyzyjnych danych gdyż nie wiem do 
końca jakie informacje będę pobierał w przyszłości z bazy. Jedynym 
pewnikiem jest to, że będę używał złączeń i dlatego do nich się 
ograniczam w wątku.

Czy sugerujesz iż dla złączeń tabel budowanie indeksu jest niepotrzebne?

> Po drugie - jakiej mniej więcej skali danych się spodziewasz? Liczba
> rekordów i odsetek rekordów w tabela2 z pole is null.

Sądzę, że liczba rekordów będzie na poziomie pojedynczych tysięcy. 
Analizuję obecne wykorzystanie CMS w wielu realizacjach i generalnie 
takie mam statystyki. Oczywiście może zdarzyć się rodzynek, gdzie 
rekordów będzie znacznie więcej. Trudno przewidzieć.

Ilość nulli w drugiej tabeli będzie zwykle przytłaczająca. Powiedzmy 90%.

> Po trzecie - jeśli indeks ma "not null" to zapytanie też powinno mieć
> "not null" - nawet jeśli czasem optymalizator się dopatrzy, że "not
> null" nie ma w danym przypadku znaczenia, to lepiej na to nie liczyć
> i zapisać warunek poprawnie (kompletnie).

Czy jest istotna kolejność? Mam na myśli:

a) where a=b and b notnull
b) where b notnull and a=b

-- 
Pozdrawiam,
Marek
Technical Details
Message-ID: <mctd2q$q6k$1@news.icm.edu.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!.POSTED!not-for-mail
References: <mci51m$dju$1@news.icm.edu.pl> <fk06sb-jtf.ln1@depesz.com>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!.POSTED!not-for-mail
From: Marek <precz@spamowi.com>
Newsgroups: pl.comp.bazy-danych
Subject: Re: PostgreSQL - jak zbudować optymalne zapytanie?
Date: Sat, 28 Feb 2015 22:47:57 +0100
Organization: ICM, Uniwersytet Warszawski
Lines: 37
Message-ID: <mctd2q$q6k$1@news.icm.edu.pl>
References: <mci51m$dju$1@news.icm.edu.pl> <fk06sb-jtf.ln1@depesz.com>
NNTP-Posting-Host: 89-69-222-145.dynamic.chello.pl
Mime-Version: 1.0
X-Trace: news.icm.edu.pl 1425160090 26836 89.69.222.145 (28 Feb 2015 21:48:10 GMT)
X-Complaints-To: usenet@news.icm.edu.pl
NNTP-Posting-Date: Sat, 28 Feb 2015 21:48:10 +0000 (UTC)
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0
In-Reply-To: <fk06sb-jtf.ln1@depesz.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit