Hallo,
Ich habe mal den Query von PHP mittels var_dump ausgeben lassen und hab das direkt vom Browser in PHPmyAdmin kopiert.
Dort habe ich wie gewünscht die ca. 70.000 Ergebnisse bekommen und zwar in 0.02 Sekunden.PMA zeigt doch nicht alle Datensätze auf einmal an, sondern schränkt mittels LIMIT die Ergebnismenge ein - oder hast du irgendwo explizit angegeben, dass PMA dir alle Ergebnisse auf einer Seite anzeigen soll?
... Manchmal sieht man den Wald vor lauter Bäumen nicht. Daran lag's, richtig ;)
Damit stoße ich allerdings auf ein anderes Problem:
Es handelt sich, wie der Tabellenname schon sagt, um Kommentare. Von diesen soll eine Teilmenge 'seitenweise' auf der Website angezeigt werden.
Es würde mir also reichen, je 20 - 30 Kommentare aus dieser Teilmenge der Tabelle auf einmal auswählen zu lassen.
Doch zuvor muss ich wissen, wie viele Seiten es gibt, um bewerten zu können, ob die vom Benutzer angeforderte Seite überhaupt gültig ist (was ist, wenn der User mittels Direkteingabe in der URL als Seitennummer eine viel zu hohe Zahl eingibt?).
Das wird aber wohl nicht funktionieren, ohne zu wissen, wie viele Elemente zu dieser Teilmenge der Tabelle gehören ("WHERE typ = '...'"). (Falls doch, bin ich sehr dankbar für Denkanstöße)
Gibt es irgendeine Möglichkeit, das herauszufinden, ohne den Query explizit auszuführen?
SELECT COUNT(*) FROM comments WHERE ...
dauert ähnlich lange, fällt also leider auch weg.
Klar kann man die Tabelle indizieren (werde ich auch noch machen), aber ich hätte lieber eine Lösung, die das Problem "an den Wurzeln" packt.
Gruß,
Günther