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