Gibt es eine Liste der bewährten MySQL-Datentypen für gängige Anwendungen? Zum Beispiel würde die Liste den besten Datentyp und die beste Größe für ID, IP-Adresse, E-Mail, Betreff, Zusammenfassung, Beschreibung, URL, Datum (Zeitstempel und lesbar), Geo-Punkte, Medienhöhe, Medienbreite, Mediendauer, usw.
Danke !!!
Ich kenne keine, also fangen wir an!
numerische ID / auto_increment Primärschlüssel: verwenden eine vorzeichenlose Ganzzahl. Verwenden Sie 0 nicht als Wert. und beachte den maximalen Wert der verschiedenen Größen, d. h. verwende nicht int, wenn du keine 4 Milliarden Werte benötigst, wenn die von mediumint angebotenen 16 Millionen ausreichen.
dates: Wenn Sie nicht speziell Datumsangaben benötigen, die außerhalb des unterstützten Bereichs von mysqls DATE- und TIME-Typen liegen, verwenden Sie sie! Wenn Sie stattdessen Unix-Zeitstempel verwenden, müssen Sie sie konvertieren, um die integrierten Datums- und Uhrzeitfunktionen zu verwenden. Wenn Ihre App Unix-Zeitstempel benötigt, können Sie die Standarddatentypen für Datum und Uhrzeit immer mit dem Befehl unix_timestamp()
konvertieren.
IP-Adressen: Verwenden Sie inet_aton()
und inet_ntoa()
, da es eine IP-Adresse leicht in 4 Bytes komprimiert und Ihnen die Möglichkeit gibt, Bereichsabfragen durchzuführen, die Indizes verwenden.
Ganzzahlige Anzeigebreite Wahrscheinlich definieren Sie Ihre Ganzzahlen etwa so "INT (4)", wurden aber durch die Tatsache verblüfft, dass (4) keinen wirklichen Effekt auf die gespeicherten Zahlen hat. Mit anderen Worten, Sie können Zahlen wie 999999 gut speichern. Der Grund dafür ist, dass für Ganzzahlen (4) die Anzeigebreite ist und nur dann wirksam wird, wenn sie mit dem Modifikator ZEROFILL verwendet wird. Dies dient nur zur Anzeige. Sie können also eine Spalte als "INT (4) ZEROFILL" definieren und 99999 speichern. Wenn Sie 99999 gespeichert haben, gibt die mysql REPL (Konsole) 0999 aus, wenn Sie diese Spalte ausgewählt haben / p>
Mit anderen Worten, wenn Sie die ZEROFILL-Dateien nicht benötigen, können Sie die Anzeigebreite nicht verwenden.
Money: Verwenden Sie den Datentyp Dezimal. Basierend auf realen Produktionsszenarien empfehle ich (19,8).
EDIT: Meine ursprüngliche Empfehlung war (19,4); Ich bin jedoch kürzlich auf ein Produktionsproblem gestoßen, bei dem der Kunde berichtete, dass sie unbedingt eine Dezimalstelle mit einer "Skalierung" von "8" benötigten. so war "4" nicht genug und verursachte unsachgemäße Steuerberechnungen. Ich empfehle jetzt (19,8) basierend auf einem realen Szenario. Ich würde gerne Geschichten hören, die eine detailliertere Skala benötigen.