Ich habe eine Abfrage, die eine wahnsinnig lange Zeit zur Ausführung braucht. Hier ist die Abfrage:Welche Spalten sollte ich indizieren?
SELECT *
FROM `posts`
WHERE `posts`.`id` IN (... MANY MANY DOZENS OF IDs ...)
ORDER BY `created_at` DESC;
Würde ich erstellen einen Index für nur id
oder sowohl auf id
und created_at
?
Sie können einen Index für beide erstellen, aber Ihr grundsätzlicher Ansatz ist fehlerhaft. Sie sollten diese IDs stattdessen in eine Tabelle einfügen und sich ihr anschließen. – bernie