Autor | Zpráva | ||
---|---|---|---|
Wojta Profil |
#1 · Zasláno: 9. 8. 2008, 16:41:47 · Upravil/a: Wojta
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 |
#2 · Zasláno: 9. 8. 2008, 17:11:37
To jsem to napsal tak dobře že to nejde nebo je to tak složité na optimalizaci?
|
||
Kajman_ Profil * |
#3 · Zasláno: 10. 8. 2008, 22:17:54
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.
|
||
Časová prodleva: 17 let
|
0