Supondo representação textual em uma string:
- 15 caracteres para IPv4 (
xxx.xxx.xxx.xxx
formato, 12+3 separadores) - 45 caracteres para IPv6
Esses são o comprimento máximo da string.
Alternativas para armazenar como string:
- O IPv4 é de 32 bits, portanto, um tipo de dados MySQL que pode conter 4 bytes serve, usando
INT UNSIGNED
é comum junto comINET_ATON
eINET_NTOA
para lidar com a conversão de endereço para número e de número para endereço
- Para o IPv6, infelizmente o MySQL não tem um tipo de dado de 16 bytes, porém pode-se colocar o IPv6 em uma forma canônica e separá-los em 2
BIGINT
(8 bytes), mas usará dois campos.