Ich analysiere einen SQL
Befehl zu einer mysqli
Abfrage. Ich möchte die Anzahl der Aufzeichnungen mit unterschiedlichen Bedingungen erhalten. Ich mache das derzeit mit union
, aber es ist sehr langsam. Gibt es einen besseren, effizienteren Weg, dies zu tun?Mit verschiedenen Bedingungen zählen
$sql = "SELECT COUNT(*) as Total FROM table1 WHERE GroupId = 2 UNION ";
$sql .= "SELECT COUNT(*) as Likes FROM table1 WHERE LikesCol IS NOT NULL AND GroupId = 2 UNION ";
$sql .= "SELECT COUNT(*) as Commented FROM table1 WHERE CommentCol > 0 AND GroupId = 2 UNION ";
$sql .= "SELECT COUNT(*) as Shared FROM table1 WHERE SharedCol > 0 AND GroupId = 2";
Wie Sie bemerken ich alle Datensätze aus der Tabelle am Auswählen wo GroupId = 2
dann nach unten Ich Bohrens, die geteilt und kommentiert usw.
Haben Sie einen Index für GroupId? –