phpbar.de logo

Mailinglisten-Archive

[php] mysql volltextsuche?

[php] mysql volltextsuche?

Andi phpbar at mein-himmel.de
Fre Jan 2 15:59:27 CET 2009


Hallo,

ich habe in der Zwischenzeit möglicherweise die Lösung gefunden, Andreas 
du hast natürlich recht, der Index ist gar nicht benutzt worden,
so sollte das besser funktionieren, laut explain wird nun auch kein full 
table scan mehr gemacht.

select product.id as id, product.title as title, product.manufacturer_id 
as mid, manufacturer.title as manuf_title from product, manufacturer
    where
    match (product.title) against('blau grün' )
    and product.manufacturer_id = manufacturer.id
union
select product.id, product.title, product.manufacturer_id as mid, 
manufacturer.title as manuf_title from product, manufacturer
    where
    match (manufacturer.title) against('blau grün' )
    and product.manufacturer_id = manufacturer.id
limit 1,20

execution time im schnit 0,171 sec, damit kann ich erstmal leben, oder 
gehts noch schneller? :-)

Gruß
Andi


Andreas Müller schrieb:
> Hallo Andi,
>
> nun mach doch mal ein EXPLAIN und du wirst sehen was da passiert.
>
> Letztendlich ist dein Problem das MySQL einen Volltextindex nur über jeweils
> eine Tabelle aufbauen kann und nicht über mehrere. Deine Query verwendet den
> Volltextindex garnicht sondern arbeitet das ganze "per Hand" ab. Du solltest
> hier eine ODER Verknüpfung der Abfragen gegen den jeweiligen Volltextindex
> durchführen.
>
> Gruß,
> Andreas
>
>   


php::bar PHP Wiki   -   Listenarchive