Indexy v PostgreSQL
Karel Zak
zakkr na zf.jcu.cz
Pondělí Říjen 2 08:46:19 CEST 2000
On Sat, 30 Sep 2000, Jakub Labath wrote:
> No neviem ci to je moja anglictina ale moc tomu nerozumiem.
To je jedno, tomu stejne rozumi jen Tom Lane .... :-)
> Na jednej strane to ma vracat predpokladany pocet vystupnych riadkov
> a potom zas cosi o riadkoch ktorymi prechadza query.
Dulezitym je stav statistik, muze pomoci "vycisteni" pomoci VACUUM
ANALYZE.
> Inak co sa tyka vykonnosti rychlost bola rovnaka ci som robil where id
> = 12 alebo where id = 700000.
> Rychlost som meral ocami :-)
>
> V praxi sa tym trapit zrejme netreba len ma zaujima ako ten
> Explain vlastne pracuje.
>
> Inak iba tak na okraj v mysql sa mi raz stalo cosi podobne a sice ze
> ked bolo v tabulke
> malo riadkov tak mi explain pri dotaze typu "...where id = 12 "
> vobec index nepouzil a ako udaj rows mi rovno vratil
> pocet riadkov v tabulke.
To je pochopitelne, pouziti indexu (vypocet / nalezeni) muze byt pomalejsi
nez seq. scan pokud je ta tabulka mala nebo naopak pokud zadate cca vice
jak 20% obsahu tabulky.
Zmeny v optimizeru jsou v tomto smeru hlavne od 7.0, jinak muzete jeste
zkusit experimenty s nastavenim ENABLE_HASHJOIN a ENABLE_SORT
(SET <val> = On / Off).
Karel
Další informace o konferenci Databases