Hallo Rolf,
die entsprechende $idlist vorab selektiert. Oder wie siehst Du das?
Nein, andersrum. Das ist eine dritte Query und Du hast Aufwand, die $idlist zu erzeugen. Das ist aus meiner Sicht nur nötig, wenn die eingebauten LIMIT Optimierungen von MYSQL nicht reichen.
Ich denke aber, dass DISTINCT, GROUP BY und SQL_CALC_FOUND_ROWS genau diese Optimierungen aushebeln und die Query langsam machen. Erster Versuch sollte deshalb sein, den GROUP BY und das SQL_CALC_FOUND_ROWS wegzubekommen. Soweit ich Dich bisher verstanden habe, spricht da nichts gegen.
Habe aber gerade aus Spaß an der Freud mal "DISTINCT, GROUP BY und SQL_CALC_FOUND_ROWS" unabhängig vom Ergebnis weggelassen und die Query war eher lahm. Ich hoffe, mir hat vorhin nicht der Cache einen Streich gespielt. Ich hatte deshalb eigens die ID-List-Reihen variiert.
Na ok. Wie schaffen wir, den Group By wegzulassen mithilfe der neuen Information zur "bezahlt-Spalte", das ist es, worauf wir gerade abzielen, nicht wahr?
Jörg