Jaky SQL server (possibly flame) ?
Honza Pazdziora
adelton na informatics.muni.cz
Úterý Květen 2 09:46:28 CEST 2000
On Mon, May 01, 2000 at 09:41:57AM -0700, Jakub Labath wrote:
>
> > Ale prece v produkcnim prostredi nebudete vyhledavat pomoci LIKE nad
> > dlouhymi sloupci. Stejne si to musite oindexovat nejak bokem. V MySQL
> > treba v Perlu, v Oraclu treba interMediaTextem.
>
> Suhlasim,
> Co to presne znamena "oindexovat nejak bokem".
Ze normalni indexy udrzuji pro hodnotu sloupce (ci sloupcu ci funkci
nad sloupci) cislo zaznamu (ci rowid), a to cislo zaznamu je v tom
indexu jednou. Zde ale mam v jednom sloupci tech hodnot hodne --
malicky jezek neleta
mi vygeneruje indexove zaznamy (napriklad) malicky ->rowid, jezek ->
rowid, neleta -> rowid, a take to, ze malicky je pred jezek.
A nasledne je pak treba zajistit, ze dotaz
malicky jezek and not leta
najde rozumne zaznamy v puvodni tabulce.
Tim bokem jsem chtel rict, ze to pak uz neni normalni index.
V Oracle 8.0 je ConText cartridge, kde je to opravdu externi proces
(ctxsrv), ktery zajistuje jednak indexaci zmenenych zaznamu, jednak
i prevod SQL dotazu (contains(sloupec, 'malicky jezek and not leta') > 0)
na SQL dotaz, ktery to vyhodnoti.
V Oracle 8.1 se ta vec jmenuje interMediaText, ty textove indexy jsou
jednim z rozsirujicich typu indexu.
Pokud to databazovy server primo nepodporuje, je nutne to delat na
aplikacni urovni -- pro MySQL jsem napsal modul v Perlu, ktery
indexuje kde co, ale uz to neni ciste SQL.
> Kde sa mozem dozvediet viac?
Dokumentace k Oraclu.
--
------------------------------------------------------------------------
Honza Pazdziora | adelton na fi.muni.cz | http://www.fi.muni.cz/~adelton/
.project: Perl, DBI, Oracle, MySQL, auth. WWW servers, MTB, Spain.
------------------------------------------------------------------------
Další informace o konferenci Databases