» »

[PostgreSQL] B-indeksi

[PostgreSQL] B-indeksi

Sergio ::

Ce je tukaj kaksen zealot za PostgreSQL, ki bi mi znal odgovoriti na tole vprasanje:

Zelim izvesti stavek takega tipa:

SELECT a from table where field = 0;

Nad polje "field" sem dal b-index. Ko pozenem explain analyze, mi planner naredi dva koraka, najprej index scan (00 - 26.20), ter nato še bitmap heap scan (26.20 - 8100).

Če query zamenjam z ekvivalentnim

SELECT a from table where field <= 0 AND field >= 0;

dobim plan s samo enim korakom, ki vključuje samo index scan (0.00-5)

Poskusil sem tudi zamenjati b-index z hash indeksom, ampak razlike ni bilo. PostgreSQL ocitno tudi odsvetuje uporabo hash indeksov.

Se ta "hek" dejansko izplaca? Je ze kdo imel izkusnje s tem? Ali slucajno delam kaj popolnoma narobe? Hvala.
Tako grem jaz, tako gre vsak, kdor čuti cilj v daljavi:
če usoda ustavi mu korak,
on se ji zoperstavi.

Sergio ::

Nobenega ultra hekerja ki bi mi znal razloziti stvari? :)
Tako grem jaz, tako gre vsak, kdor čuti cilj v daljavi:
če usoda ustavi mu korak,
on se ji zoperstavi.

Sergio ::

Očitno se bo treba obrniti na mejlin listo.

Hvala vseeno!
Tako grem jaz, tako gre vsak, kdor čuti cilj v daljavi:
če usoda ustavi mu korak,
on se ji zoperstavi.

darkolord ::

Če je query dovolj selektiven (majhno število vrstic), preklopi v simple scan (najprej prebere vse vrstice v vrstnem redu, kot so indexirane in jih potem posortira), kar je sicer bolj počasno za večje število vrstic. V tvojem primeru je edino čudno, da je uporabil različna načina, čeprav query vrne enake vrstice (sej ti explain pokaže enako število vrstic?). A se časa pri explain in analyze ujemata?


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

SQL inner join

Oddelek: Programiranje
393320 (2575) smacker
»

Nova različica podatkovne baze PostgreSQL 9.5 prinaša obilico novosti (strani: 1 2 )

Oddelek: Novice / Ostala programska oprema
5717693 (14559) McAjvar
»

python in postgresql (strani: 1 2 )

Oddelek: Programiranje
777505 (6406) ZaphodBB
»

Large database

Oddelek: Programiranje
161432 (1130) krho
»

postgreSql/Mysql - počasen count

Oddelek: Programiranje
61245 (1166) yimi

Več podobnih tem