Allgemein
- Die Daten so klein wie möglich bekommen.
- Den jeweils effizientesten (d. h. kleinstmöglichen) Datentyp verwenden. (z.B. ist
MEDIUMINT
ca. 25% kleiner alsINT
) - Wenn möglich, Spalten als NOT NULL deklarieren. => Spart ein Bit je Spalte
Regeln beim Aufbau von SQL Queries
- Das Sternchen bei SELECT * FROM.. sollte vermieden werden. (mehr infos s.u.)
- LEFT JOIN und RIGHT JOIN bei großen Tabellen und Datenmengen vermeiden. Möglichst ein JOIN ersetzen und mit Unterabfragen (Subselect) versuchen das gleiche Ergebniss zu erhalten. Hinweis: Nicht immer Möglich
- Beachtung des Datentypes bei der Angabe der WHERE Bedingungen in der SQL Abfrage. Wenn die Spalte z.B. VAHRCHAR als Datentyp hat, den Wert bei der Abfrage unbedingt in Anführungsstriche setzen. Wirkung: Nutzung des Indexes
- Bei WHERE-Bedingungen mit zeitlichen Einschränkungen und Filter Datumsfunktionen vermeiden. Gut:
Schlecht:expired
< '2015-11-22 18:00:00'WHERE UNIX_TIMESTAMP(
expired
) < 1448229347
Index setzen
- Bei Datum und Zeitfiltern de jeweilige Spalte als Index setzen.