Zakładając, że tekstowa reprezentacja w ciągu:
- 15 znaków dla IPv4 (
xxx.xxx.xxx.xxx
format, 12+3 separatory) - 45 znaków dla IPv6
To są maksymalne długości ciągu.
Alternatywy do przechowywania jako ciąg:
- IPv4 jest 32-bitowy, więc wystarczy typ danych MySQL, który może pomieścić 4 bajty, używając
INT UNSIGNED
jest powszechny wraz zINET_ATON
iINET_NTOA
do obsługi konwersji z adresu na numer i z numeru na adres
- Dla IPv6 niestety MySQL nie ma typu danych, który ma 16 bajtów, jednak można umieścić IPv6 w formie kanonicznej, a następnie podzielić je na 2
BIGINT
(8 bajtów), to jednak użyje dwóch pól.