Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Größe zum Speichern von IPv4- und IPv6-Adressen als Zeichenfolge

Unter der Annahme einer textuellen Darstellung in einer Zeichenkette:

  • 15 Zeichen für IPv4 (xxx.xxx.xxx.xxx Format, 12+3Trennzeichen)
  • 45 Zeichen für IPv6

Das ist die maximale Länge des Strings.

Alternativen zum Speichern als String:

  • IPv4 ist 32-Bit, also reicht ein MySQL-Datentyp, der 4 Bytes aufnehmen kann, mit INT UNSIGNED ist zusammen mit INET_ATON üblich und INET_NTOA um die Umwandlung von Adresse zu Nummer und von Nummer zu Adresse zu handhaben
  • Für IPv6 hat MySQL leider keinen Datentyp, der 16 Byte groß ist, aber man kann IPv6 in eine kanonische Form bringen und sie dann in 2 BIGINT trennen (8 Bytes), dies wird jedoch zwei Felder verwenden.