MySQL-3.23.21-beta a BerkeleyDB tables

Honza Pazdziora adelton na informatics.muni.cz
Pátek Červenec 14 23:05:12 CEST 2000


On Fri, Jul 14, 2000 at 12:42:31PM +0200, Karel Zak wrote:
> 
>  Tabulku uvnitr nejake funkce asi udelas, ale moc nechapu kdy ji chces 
> delat. Tedy to "mezitim" a neni mi jasne jak by se tato nova tabulka

Pokud mam slozity dotaz

	select neco from joinovane tabulky where spousta podminek
		a jedna z nich je ten fulltextovy test
		contains(sloupec, 'vyraz') > nejake skore

tak typicky chci primarne hledat podle toho fulltextu a pak joinovat
se zbytkem. Tedy nejriv chci najit mezi milionem zaznamu ty tri, ktere
odpovidaji vyrazu 'karel zak and mysql' a pak s tim vysledkem neco
delat.

Pokud budu tu funkci volat normalne, tak ji budu volat pro vsechny
zaznamy, miliony. No good. Cili se snazim smerovat k tomu, ze by doslo
ke transformaci toho puvodniho selectu na select

	select neco from joinovane tabulky where spousta podminek
		a id in ( select id from ta pomocna tabulka )

A teprve tento dotaz by se pustil. Predtim by samozrejme nekdo musel
udelat tu tabulku a naplnit ji vysledkem toho fulltextoveho hledani.
Ale dalsi beh uz by byl rychly.

Myslel jsem, ze pokud vis, kde v PostgreSQL se prechazi od toho
vstupniho retezce SQL k rozparsovane strukture, tak pote, co je
rozparsovano, by melo byt mozno zavolat to externi plneni te pomocne
tabulky a pak zmenit tu rozparsovanou strukturu tak, aby brala data
z ni.

> (nazev) dostala k parseru. Protoze predtim nez se zacnou valat jakekoliv
> funkce tak se to cele parsuje a optimalizuje a tam pochopitelne by uz ta
> pomocna tabulka musela existovat. To bych videl jako schudnejsi na misto

No jiste. Musi ji nekdo vytvorit (nebo alespon naplnit, muzu mit jednu
tabulku a pro rozliseni ruznych sad vysledku pouzivat nejakou
sekvenci).

> subselectu tu funkci. Nebo to mit rozdelene na dva dotazy...

To prave nechci. Chtel bych (takhle to ma Oracle a prijde mi to
rozumne udelane), aby se to hledani dalo napsat primo do toho selectu,
jak funkce, ale aby ta funkce byla schopna omezit primarni rozsah
hledani. Coz normalni funkce neudela, IMO.

>  Snad jsem uplne mimo, ale myslim, ze nekdo ne nejakem fulltextu pro PG
> dela. 

Je nejake URL? Vzhledem k tomu, jak ma PG blbe udelane blby nyni, tak
bych tomu az tak moc neduveroval ;-)

-- 
------------------------------------------------------------------------
 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