phpbar.de logo

Mailinglisten-Archive

MySql FullText

MySql FullText

Norbert Pfeiffer norbert@itbw.de
Tue Dec 17 20:25:23 2002


Hi Hans-Juergen,

also mal konkret:
eine Tabelle besteht nur aus

CREATE TABLE texte (
 autor int(11) NOT NULL default 0,
 thema int(11) NOT NULL default 0,
 zitat text NOT NULL default '',
 INDEX autor (autor),
 INDEX thema (thema)
) Type=MyISAM;

da sind jetzt so um die 100.000 Zitate drin, die
man auch nach Teilstrings durchsuchen koennen soll.

z.B.:
- finde 'in ich um den schlaf gebra'
- finde 'weihnacht'
- finde 'oster'

Da faellt mir nur LIKE, und keine Optimierung ein,
Vielleicht hast Du ja dazu eine Idee ?


m. b. G. Norbert
_____________________
normal:  02292-681769
Notruf:  0177-2363368
---------------------
e.o.m.
----- Original Message -----
From: "Hans-Jürgen Schwarzer" <hjs@schwarzer.de>
To: <mysql-de@lists.4t2.com>
Sent: Tuesday, December 17, 2002 1:20 PM
Subject: AW: MySql FullText


Hallo Norbert

> also mal im Ernst,
> wenn ein Select wirklich zu lange dauert,
> wird es mit verketteten Tabellen auch nicht schneller.

Der Vorteil der Methode mit einer separaten Worte-Tabelle
ist um so GRÖSSER, je MEHR Texte es gibt und je stärker
der Suchbegriff einschränkt. Und selbstverständlich
ist auch eine "like"-Suche gegeben.

Bei 200000 Texten und 5000 verschiedenen Worten schon
lohnt sich das Verfahren. Wenn nur vier Worte zum Suchbegriff
passen, können die zugehörigen Texte über die Text/Item-ID
sehr schnell zugegriffen werden.

Natürlich kann man Performance zum Teil auch durch mehr Speicher
bewirken. Ich tendiere dazu BEIDES zu tun.

optimale Algorithmen UND
großzügige Ressourcenzuteilung

Okay. Ich gebe zu, daß die Optimierung per Algo. mein Hobby ist.
Daher bin ich nicht ganz neutral.

Beste Grüße,

Hans-Jürgen


--
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->>  http://www.4t2.com/mysql


-- 
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->>  http://www.4t2.com/mysql 


php::bar PHP Wiki   -   Listenarchive