Archive for the ‘Explain’ tag
SQL richtig schreiben: Ausnutzung von Indizes
Um SQL kommt man in der heutigen Webentwicklung nicht herum, und jeder von uns kann SQL-Queries erstellen. Doch nicht jeder SQL-Query, der das korrekte Ergebnis zurückliefert, ist optimal aus Sicht der Performance. Hier ein kleines Beispiel:
Wir haben folgende Tabelle:
CREATE TABLE IF NOT EXISTS `Login` ( `LoginId` int(11) NOT NULL AUTO_INCREMENT, `UserId` int(11) NOT NULL, `LoginDateTime` datetime NOT NULL, PRIMARY KEY (`LoginId`) )
Nehmen wir an in der Tabelle sind 10.000.000 Zeilen. Es sind 10.000 verschiedene UserIds enthalten und jeder User hat im Schnitt 1.000 Logeinträge in den letzten 3 Jahren produziert. Die Tabelle enthält erstmal keine Indizes.
Die Aufgabe ist die folgende: Hole alle Logeinträge die in den letzten 30 Minuten stattgefunden haben.