Autor Zpráva
Wojta
Profil
Na svůj web jsem si vytvořil vyhledávání přes MySQL databázi, ale nevým, jestly není můj příkaz moc neohrabaný.

Můj příkaz:
SELECT * 
FROM ers_clanky
WHERE nazev REGEXP '[[:<:]]Starcraft[[:>:]]'
AND aktivni = 'true'
AND schvalen = 'true'
OR pre_text REGEXP '[[:<:]]Starcraft[[:>:]]'
AND aktivni = 'true'
AND schvalen = 'true'
OR hl_text REGEXP '[[:<:]]Starcraft[[:>:]]'
AND aktivni = 'true'
AND schvalen = 'true'


Poradí někdo jak ho optimalizovat?

PS: příkaz se provádí podle počtu slov, to znamená, že to může být i více než 10x, proto mi záleží na tom, aby se prováděl co nejrychleji.

Díky.....
Wojta
Profil
To jsem to napsal tak dobře že to nejde nebo je to tak složité na optimalizaci?
Kajman_
Profil *
Dejte těch 10 slov do jednoho regexp. Zkuste si explain, zda se použijí indexy. A pokud chcete rychlejší výsledky a nevadí Vám omezení fulltextového indexu, šáhněte po něm.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: