Daniel Petratsch: Mysql - Anzahl an Datensätzen in umfangreicher Abfrage ermitteln

Beitrag lesen

Hi Dedlfix,

Ich möchte die DB-Zugriffe optimieren und so viele Abfragen wie nur möglich in einer zusammenfassen.

Das muss nicht in jedem Fall sinnvoll sein. Damit erhöht sich möglicherweise unnötig die Komplexität der Abfrage und des auswertenden Scripts.

Ja da hast du natürlich vollkommen recht - Zusammenfassen nur dann wenns auch wirklich sinnvoll ist und nicht dadurch noch komplexer wird.

Mein aktuelles Problem betrifft eine Blätterfunktion, die die Ausgabe limitiert und ich aber trotzdem alle Datensätze brauche um die Blätter-Links berechnen zu können:

Dazu baut man das Schlüsselwort SQL_CALC_FOUND_ROWS in die limitierte Abfrage ein und schickt eine zweite Abfrage SELECT FOUND_ROWS(); hinterher.

Vielen Dank für den Hinweis, diese Funktion war mir bis dato noch nicht bekannt. Es wird leider auch eine weitere Abfrage benötigt, die offizielle Mysql Quelle schreibt aber von Performance-Vorteilen, in diversen Internet-Foren wird diese Funktion als nur unmerklich schneller diskutiert - wie auch immer, auf jeden Fall wird das Script dadurch übersichtlicher und das ist ja auch schon ein Vorteil :)

Vielen Dank und liebe Grüße,
Daniel