En supposant une représentation textuelle dans une chaîne :
- 15 caractères pour IPv4 (
xxx.xxx.xxx.xxx
format, 12+3séparateurs) - 45 caractères pour IPv6
Ce sont la longueur maximale de la chaîne.
Alternatives au stockage sous forme de chaîne :
- IPv4 est 32 bits, donc un type de données MySQL pouvant contenir 4 octets fera l'affaire, en utilisant
INT UNSIGNED
est commun avecINET_ATON
etINET_NTOA
pour gérer la conversion d'adresse en numéro et de numéro en adresse
- Pour IPv6, malheureusement MySQL n'a pas de type de données qui est de 16 octets, cependant on peut mettre l'IPv6 sous une forme canonique, puis les séparer en 2
BIGINT
(8 octets), cela utilisera cependant deux champs.