Wie viel schneller ist der Zeitstempel als datetime-Spalte in MySQL?
Diese besteht aus zwei Fragen:
- Ist die MySQL-timestamp-Feld wirklich schneller als datetime-Feld in der "order by" - Abfrage?
- Wenn die Antwort auf obige Frage ist ja, wie viel schneller könnte es sein? Soll in einer Tabelle von 100 Millionen Zeilen und Häufig Sortieren eine Reihe von 100-200k Zeilen basierend auf dem timestamp-Feld im inneren MySQL, wird die sort-Zeit Verbesserung werden offseted durch die Umwandlung von timestamp in lesbares format-string in außerhalb des Programms?
InformationsquelleAutor jack | 2009-11-01
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Der einfachste Weg, um herauszufinden, ist, zum schreiben eines unit-Tests, und tatsächlich etwas zahlen.
Meine Theorie war, dass timestamp wäre schneller, aber nach diesem blog bin ich falsch:
http://dbscience.blogspot.com/2008/08/can-timestamp-be-slower-than-datetime.html
Dies ist, warum ich Neige zu zahlen, von profiling, bevor ich entscheiden, wo man optimieren, wie mein Bauchgefühl kann durchaus falsch zeitweise.
So, es können abhängig von der version von MySQL, die Sie verwenden, aber es scheint, dass datetime schneller sein.
InformationsquelleAutor James Black
Was ich sagen kann, der große Vorteil der Verwendung von TIMESTAMP-über DATETIME ist automatisch ein Wert festgelegt werden, um die aktuelle Uhrzeit auf Zeile Schöpfung und in der Lage sein, um es (oder andere Spalte mit ein wenig Anstrengung), um die aktuelle Uhrzeit auf Zeile aktualisieren. Dies ermöglicht eine automatische erstellt-und geändert-Datum.
Aufgrund von anderen Beschränkungen auf die TIMESTAMP-Spalte (zum Beispiel, nicht zu akzeptieren, Termine außerhalb eines bestimmten Bereichs oder das ändern wenn die server-Zeitzone-änderungen), DATETIME wird besser sein, wenn Sie nicht benötigen eine der beiden Funktionen von oben.
Allerdings, wenn Sie nur daran interessiert zu speichern einen Unix-timestamp in der Datenbank und nicht benötigen, die Datenbank zu je umzuwandeln, könnten Sie wahrscheinlich speichern Sie es als eine ganze Zahl ohne Vorzeichen direkt und erreichen wenig Leistung.
Ich bin mir dessen bewusst. Mit dem Unterschied, dass der TIMESTAMP-Wert festgelegt wird, ohne dass angegeben im INSERT-oder UPDATE. Persönlich verwende ich DATETIME und meine DB-abstraction-layer-updates erstellten und geänderten Feldern automatisch für mich.
vielen Dank für deinen input. Ich kümmert sich nur darum, Daten Sortieren Leistung in diesem Fall ist der Bereich einschränken der timestamp-Feld ist kein problem. Ich weiß, ein weiterer Vorteil der timestamp-Feld ist, muss es 381.5 MB weniger Speicherplatz für ein 100-Millionen-Zeilen-Tabelle.
InformationsquelleAutor Jason