Mailinglisten-Archive |
Hallo Julian Julian Schwarz wrote: > ich habe ca. 140.000 Records. Die Abfrage sieht wie folgt aus: > > SELECT cID, count(*) as Doublettenanzahl FROM WK_companyData WHERE > LENGTH(phone) > 0 GROUP BY phone HAVING COUNT(*)>1 ORDER BY > Doublettenanzahl DESC > > Es handelt sich also um eine Doublettensuche in einer Adressdatenbank > über die Telefonnummer. Ich lasse mir alle Doubletten liefern und > nach der Doublettenanzahl absteigend sortieren. Wie dynamisch sind denn die Inhalte der Datenbank? Müssen denn bei jeder Anfrage durch einen Nutzer zeitnah die Dubletten gezählt werden oder kann das nicht ein Cronjob erledigen, der dann die Dublettenanzahl in einer zusätzlichen Spalte vermerkt? Das wäre mein erster Ansatzpunkt um den Server etwas zu entlasten. Wenn es auf Grund von hoher Dynamik doch realtime sein muss, dann kannst du nochmal die INDEXe über die Spalte phone prüfen oder mal schauen, obs ein MySQL Cache schon bringt. Je Nach Größe des Cache liefert MySQL dann die Ergebnisse der letzten übereinstimmenden Query sofort aus. regards, Ringo
php::bar PHP Wiki - Listenarchive