MySQL-3.23.21-beta a BerkeleyDB tables
Honza Pazdziora
adelton na informatics.muni.cz
Pátek Červenec 14 12:17:43 CEST 2000
On Fri, Jul 14, 2000 at 12:00:12PM +0200, Karel Zak wrote:
>
> Todle muze byto dobre slozite, protoze na tu funkci muze byt jeste navazan
> vypocet a pak se muze zmenit i dost podstatna cast odpovedi.
Jiste. Ale pokud mam funkce typu sqrt(4), tak uz na nicem dalsim
nezavisi, a to ani pokud ji pouziji ve vyrazu sqrt(sloupec). Mel jsem
snahu delat to konzervativne a prohlasit funkce za zlo, a pak jednotlive
(sqrt, int) oznacit jako entity, jejichz pritomnost v selectu
nepotlaci moznost jeho cachovani.
> Tady je otazkou nema-li cely ten SQL engine by cache, IMHO to co
> popisujes ma smysl pro operace, kde je treba s daty udelat jeste neco
> jineho nez je jen najit (ORDER, UNION apod.).
Jakoze kdyz mam
select * from jedna_tabulka where podminka
union
select * from druha_tabulka where podminka
tak cachovat i ty podcasti? Je to zajimava myslenka, i kdyz jsem ji
nemel v planu.
> Mno todle ma PostgreSQL udelane skvele a pomerne na dost obecnych
> zakladech. Abych se priznal proc to jsem se ptal, pisu ted cache
> naparsovanych dotazu (jen tech struktur) pro PG. Tak mne to zajimalo :-)
Velmi chvalyhodne. Ty naparsovana cache je IMO stejne zaklad.
Mch., kdyz uz mas ty internals PostreSQLu nastudovane, da se udelat
nasledujici?
select * from knihy where contains(nazev, 'perl and mysql') > 0
by se prevedlo na
create table tmp_result_234234 ( nejake sloupce )
zavolej externi proces, ktery na zaklade svych rozparsovanych
poznatku o obsahu sloupce knihy.nazev naplni tabulku
tmp_result_234234 cisly knih, tkere odpovidaji
select * from knihy where id in ( select id from tmp_result_234234 )
drop table tmp_result_234234
? Psal jsem fulltextove parsovatko MyConText v Perlu (nyni to
adoptoval Thomas Mather a je to na CPANu jako DBIx::FullTextSearch),
pak jsem to rozsiroval i na PostgreSQL. Pokud by slo udelat to, co
popisuji nahore, tedy vzit select a misto funkce
and contains(sloupec, 'hodnota') > 0
tam dat
and primarni_klic in ( select primarni_klic from
pomocne_tabulka_mezitim_externim_procesem_naplnena )
meli bychom v PostgreSQL to, co ma Oracle jako ConText. Protoze
zajistit triggerama, ze pri zmene toho sloupce se opet externimu
procesu rekne, aby si tu informaci zupdatoval, je uz trivialni.
--
------------------------------------------------------------------------
Honza Pazdziora | adelton na fi.muni.cz | http://www.fi.muni.cz/~adelton/
.project: Perl, DBI, Oracle, MySQL, auth. WWW servers, MTB, Spain.
Petition for a Software Patent Free Europe http://petition.eurolinux.org
------------------------------------------------------------------------
Další informace o konferenci Test