将IPv4,IPv6地址存储为字符串的大小
在MySQL数据库中以字符串形式存储IPv4,IPv6地址的理想大小应该是多少。varchar(32)是否足够?
回答:
- IPv4 15个字符(
xxx.xxx.xxx.xxx
格式,12 + 3分隔符) - IPv6的45个字符
这些是字符串的最大长度。
- IPv4是32位,因此可以容纳4个字节的MySQL数据类型可以做到,使用
INT UNSIGNED
和共同使用INET_ATON
并INET_NTOA
处理从地址到数字以及从数字到地址的转换
SELECT INET_ATON('209.207.224.40');
-> 3520061480
SELECT INET_NTOA(3520061480);
-> '209.207.224.40'
- 不幸的是,对于IPv6,MySQL的数据类型不是16字节,但是可以将IPv6转换为规范形式,然后将其分成2个
BIGINT
(8字节),但是它将使用两个字段。
以上是 将IPv4,IPv6地址存储为字符串的大小 的全部内容, 来源链接: utcz.com/qa/431266.html