[ Almedin @ 30.01.2005. 18:34 ] @
Je li grijesim ili firebird ne moze imati caseinsensitive index? |
[ Almedin @ 30.01.2005. 18:34 ] @
[ Riste Pejov @ 30.01.2005. 23:42 ] @
A koja bi bila poenta takvog indeksa?
Index je index, ako zelis case insensitive onda to je pitanje klijenta (t.e. query-ja), nije posao baze da se brine o podatke. [ Almedin @ 01.02.2005. 20:06 ] @
Pa jednostavno želim abecedno sortiranje bez obzira na velika i mala slova. Pretpostavljam da će se upit sa ORDER BY brže izvršiti ako već postoji indeks (koja bi inače bila svrha indeksa).
[ Riste Pejov @ 02.02.2005. 23:58 ] @
ok, onda evo:
http://riste.softver.org.mk/index.php?p=103 (ako imas problema sa makedonskom slobodno pitaj) p.s. taj tekst je inspirisan tvojim inicijalnim postom :) [ Almedin @ 06.02.2005. 17:36 ] @
Hvala na odgovoru, sve mi je jasno. Firebird nema caseinsensitive indeks i tacka. Mislim da bi bilo dobro da ima.
U primjeru sa trigerima je problem sto podatak bude zapisan u bazu velikim slovima a lijepo bi bilo da podaci ostanu zapisani onako kako ih neko unese a da budu sortirani bez obzira na velika i mala slova. Posto caseinsensitive imaju druge baze (ne SQL) pretpostavljao sam da bi ga trebao imati i Firebird. [ Riste Pejov @ 09.02.2005. 22:49 ] @
Ako dobro procitas tekst, videces da sa koriscenjem shadow kolone, originalne vrednosti ostaju nepromenjene.
[ galisnik @ 10.02.2005. 19:53 ] @
Moze i ovo rjesenje, npr
CREATE TABLE Tabela ( id INTEGER, tekst VARCHAR(20), UPPtekst COMPUTED BY UPPER(tekst) ); pa onda SELECT * FROM Tabela WHERE UPPtekst LIKE 'A%'; No ako koristis UNICODE character set to nije primjenjivo jer UPPER funkcija ne fercera za dvobajtne karaktere. :( A za sortiranje je dovoljno CREATE INDEX idxtekst ON Tabela (tekst); U firebirdu 2.0 ce mijenjati strukturu indeksa. I bice jos dosta novih korisnih stvari, ako nekog zanima moze procitati na http://firebird.sourceforge.ne...&sub=engine&id=roadmap Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|