一、效果图
select 'ip', INET_NTOA(4294967295)
UNION ALL
select 'IP对应的数字',INET_ATON('255.255.255.255')
UNION ALL
select '多少位',bin(inet_aton('255.255.255.255'));
ip | 255.255.255.255 |
---|---|
IP对应的数字 | 4294967295 |
IP对应的数字 | 1111111111111111111111111111111 |
二、分析
char 占15个字节,int 只需要占4个字节
4个字节也就是4个8位,是32个二进制数据,一个255 转为二进制 1111 1111 ,四个255也就是32个1了,所以转为10进制最大也就是4294967295。
`host` int(10) unsigned NOT NULL COMMENT 'ip' -- 'unsigned' 无符号关键字
原因如下:
类型 | 有符号 | 无符号 |
---|---|---|
int | -2147683648 ~2147683647(- 2^31 到2^31- 1) | 0~4294967295(0 到2^32 – 1) |
三、原因
空间比重还是小一点,应该更好的是为了范围查询吧,这样效率就能提升很多了