Mailinglisten-Archive |
> derzeit blaettere ich in einem Suchergebnis mit > ... LIMIT $offset, $pgsize > > Leider gibt es damit unuebersehbare Performace-Probleme, > wenn man haeufige Worte sucht ('Goethe', 'Liebe', o.ae.), > und den Resultset durchblaettern moechte ... > > ... LIMIT 30, 10 - geht ja noch, aber bei > ... LIMIT 3000,10 - sucht MySQL sich 'nen Wolf > > In der DB kommt 3745 mal 'Goethe' und 7433 mal 'Liebe' vor. > > Hat dazu irgend jemand eine Idee, wie das schneller geht ? ähm, auch wenn ich mich wiederhole, und dies nur weil ich glaube das ich beim letzten mal nicht richtig verstanden wurde: grenze deine suchergebnisse doch durch kategorien, in diesem fall anfangsbuchstaben, ein ich nehme an deine anziege sieht in etwa so aus: ATitel, author ..... ATitel2, author ... ATitel3, author ... BTitel4, author ... CTitel5, author ... Seite 1 _2_ 3 4 5 ... 2999 3000 ich würde es aber bei einer gewissen anzahl von ergebnissen so machen: Anfagsbuchstabe: A _B_ C D E F G ... Y Z BTitel, author .... BTitel2, author ... BTitel3, author ... BTitel4, author ... Seite 1 _2_ 3 4 5 ... 99 100 101 dein query würde sich also in etwa so ändern: SELECTT * FROM `table` WHERE [deinesuche] AND 'titel' LIKE 'a%' LIMIT $offset, $pgsize der vorteil: du erreichst kein 'LIMIT 3000,10' mehr, welches ja dein problem ist -- Sebastian Mendel www.sebastianmendel.de www.tekkno4u.de www.nofetish.com -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive