Open PavesicL opened 7 years ago
Vsekakor ni smiselno prenesti celotnega seznama. Za iskanje po nizih z vzorci lahko uporabita operator LIKE
, ki išče po vzorcih - v vzorcu _
predstavlja poljuben znak, %
pa poljuben niz. Tako bi lahko naredila poizvedbo, kot npr.
SELECT * FROM kraj WHERE ime LIKE '%Lju%'
To bi poiskalo vse kraje, v katerih se pojavi podniz Lju
. PostgreSQL pozna tudi operator ILIKE
, ki deluje enako, le da ne razlikuje med velikimi in malimi črkami. V dokumentaciji imata opisane še nekatere druge operatorje.
Če bi se izkazalo, da je tako iskanje prepočasno, lahko uporabita tudi full-text indekse. Nisem prepričan, če bi moral za to bazo še dodatno skonfigurirati - če se odločita za to in naletita na težave, bom pogledal, kako lahko to omogočim.
Želim omogočiti iskanje npr. po krajih, ki so v bazi. Ali je hitreje, če aplikacija od baze zahteva celoten seznam krajev, po katerem naj išče aplikacija, ali je bolj smotrno, če se uporabnikov request posreduje bazi, kjer se nato poišče pravi kraj (znotraj seznama v bazi)?