Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
| Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
|
db:mysql:performance [2019/10/13 15:56] webproducer angelegt |
db:mysql:performance [2026/01/21 12:37] (aktuell) webproducer Checkliste um weiteren Punkt erweitert |
||
|---|---|---|---|
| Zeile 8: | Zeile 8: | ||
| - Alle Datenfelder, die mit der WHERE-Anweisung gesucht werden, einem Index "KEY" hinzufügen | - Alle Datenfelder, die mit der WHERE-Anweisung gesucht werden, einem Index "KEY" hinzufügen | ||
| - | - Beim SELECT auf das * verzichten, sondern nur die benötigten Felder explizit angeben | + | - Beim SELECT auf das Wildcard * verzichten! Stattdessen nur die benötigten Felder explizit angeben. Hintergrund ist, dass der Index bei indizierten Datenbankfeldern nur greift, wenn diese Felder im SELECT angegeben wurden. |
| + | - Besser "SELECT * FROM tabelle WHERE ID IN (1,2,3);" als einzelne SELECT-Aufrufe zu verwenden. Lt. Chat GPT ist diese Methode schneller bis 10.000 ID's. | ||
| - Nach Möglichkeit auf Funktion wie z. B. DATE() verzichten, da mySQL sonst vorher die Tabelle temporär dupliziert | - Nach Möglichkeit auf Funktion wie z. B. DATE() verzichten, da mySQL sonst vorher die Tabelle temporär dupliziert | ||
| - Nach Möglichkeit auf ORDER BY und GROUP BY verzichten: Doppelte Einträge lieber durch [[distinct|DISTIINCT]] vermeiden | - Nach Möglichkeit auf ORDER BY und GROUP BY verzichten: Doppelte Einträge lieber durch [[distinct|DISTIINCT]] vermeiden | ||
| - Sub-Selects lieber in der Programmiersprache, z. B. PHP lösen anstatt in SQL | - Sub-Selects lieber in der Programmiersprache, z. B. PHP lösen anstatt in SQL | ||
| + | - Nach dem gleichen Datei-Typen suchen, der auch in der Datenbank angelegt wurde! Wenn z. B. ein UNIX_TIMESTAMP in der Datenbank als STRING angelegt wurde ist die folgende Suche zu vermeiden: ...WHERE timestamp = 1584199620. Stattdessen sollte der Timestamp in einfachen Anführungszeichen stehen. Dadaurch sind z. B. beim Tabellen mit 360 Mio. Zeilen eine Zeitersparnis von über 35 Sekunden pro Aufruf möglich!! | ||