Heim  >  Artikel  >  Datenbank  >  Integer vs. DateTime-Indizierung in MySQL: Was ist schneller für Datumsbereichsabfragen?

Integer vs. DateTime-Indizierung in MySQL: Was ist schneller für Datumsbereichsabfragen?

Linda Hamilton
Linda HamiltonOriginal
2024-10-25 23:36:28937Durchsuche

  Integer vs. DateTime Indexing in MySQL: Which is Faster for Date Range Queries?

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

  • Die Vorausberechnung der UNIX-Zeit steigert die INT-Leistung erheblich.
  • MySQL scheint Abfragen zu optimieren, wenn sowohl DateTime- als auch INT-Felder in derselben Tabelle vorhanden sind.
  • Insgesamt INT Die Indizierung erweist sich bei Datumsbereichsabfragen als schneller.

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn