Pogledajte određenu poruku
Staro 16. 06. 2012.   #6
ivanhoe
Ivan Dilber
Sir Write-a-Lot
 
Avatar ivanhoe
 
Datum učlanjenja: 18.10.2005
Lokacija: Bgd
Poruke: 5.320
Hvala: 104
2.344 "Hvala" u 583 poruka
ivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svima
Pošaljite poruku preko Skype™ za ivanhoe
Default

Sto se brzine ovog upita tice, problem je u ovom ORDER BY, trebalo bi pokusati da se napravi tako da baza koristi index za sortiranje (prema explainu ne koristi ga trenutno).

Probaj da napravis UNIQUE KEY (`articleID`, `wordID`) ili obrnuto sa (`wordID`, `articleID`), pa vidi da li ce onda explain da ti da "using index". Takodje prebaci brojanje da bude COUNT(*), u mysql manualu preporucuju da se ne navodi polje da bi mogle da se odrade sve optimizacije...

Ali u svakom slucaju neces moci da dostignes performanse koje ima full-text search jer on koristi specijalan index optimizovan za tu vrstu pretrage...

Imas par mogucnosti:
- da vratis myisam, ali ubacis replikaciju na kojoj ces raditi search, da izbegnes lock tabele (po meni to ti je previse komplikacija)
- da predjes na Lucene, Solr ili tako neki specijalizovani search engine
- da koristis memcached da iskesiras podatke iz baze u jedan lookup hash za sve reci i artikle
- da umesto ove 2 tabele koje koristis napravis jednu myIsam tabelu sa spiskom svih reci i articleID-jem za svaku i da onda koristis full-text search na njoj
__________________
Leadership is the art of getting people to want to do what you know must be done.
ivanhoe je offline   Odgovorite uz citat
"Hvala" ivanhoe za poruku: