MySQL-Optimierung: Integer- vs. DateTime-Indizierung für Leistung
Abfrageeffizienz ist für große Datenbanken von entscheidender Bedeutung. Bei der Indizierung von Datums- und Zeitdaten in MySQL besteht die Wahl zwischen einem Integer-Feld („INT“) und einem DateTime-Feld.
Leistungsüberlegungen
Bezüglich der Leistung erste Tests mit 10 Millionen Datensätzen in einer InnoDB-Tabelle zeigen einen erheblichen Vorteil für die INT-Indizierung, wenn die Kriterien auf Datumsbereichen basieren. Zählabfragen, selbst mit einem großen Bereich, zeigen mit INT eine schnellere Ausführungszeit.
Testergebnisse
Anzahlabfragen:
SQL_NO_CACHE COUNT(*) FROM `tbl_int` (INT): 25.02 sec SQL_NO_CACHE COUNT(*) FROM `tbl_dt` (DateTime): 2 min 10.27 sec
Bereichsabfragen:
SQL_NO_CACHE COUNT(*) FROM `tbl_int` (INT): 1.56 sec SQL_NO_CACHE COUNT(*) FROM `tbl_dt` (DateTime): 8.41 sec
Beobachtungen
Das obige ist der detaillierte Inhalt vonInteger vs. DateTime-Indizierung in MySQL: Was ist schneller für Datumsbereichsabfragen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!