国内服务器
亚洲服务器
欧洲服务器
北美洲服务器
南美洲服务器
大洋洲服务器
非洲服务器

首页>>IDC资讯

如何有效在MySQL存储IP地址?

发表时间:2023-02-03 07:55:38

如何有效在MySQL存储IP地址?

在《高性能MySQL》,作者建议当存储IPv4地址时,应当使用32位的无符号整数(UNSIGNEDINT)来存储IP地址,而不是使用字符串的原理一样。由于一个int型的数据占4个字节,每一个字节8位,其范围就是0~(2^81),而ipv4地址可以分成4段,每段的范围是0~255刚恰好能存下,所以将其稍稍转换,就奇妙的将IP地址用最小的空间存在了数据库中(接下来的描写若无特殊说明,则都是指的ipv4地址)。可能你会觉得这个小小的改变没有甚么关系,但是当数据量愈来愈多的时候,15个字节和4个字节相差的数据量会让你吃惊。所以在设计数据库的时候,字段类型用适合的,够用就行,能省则省。

相对字符串存储,使用无符号整数来存储有以下的好处:

1.节省空间,不论是数据存储空间,或索引存储空间

2.便于使用范围查询(BETWEEN...AND),且效力更高

通常,在保存IPv4地址时,一个IPv4最小需要7个字符,最大需要15个字符,所以,使用VARCHAR(15)便可。MySQL在保存变长的字符串时,还需要额外的一个字节来保存此字符串的长度。而如果使用无符号整数来存储,只需要4个字节便可。另外还可使用4个字段分别存储IPv4中的各部份,但是通常这不论是存储空间和查询效力应当都不是很高(虽然有的场景合适使用这类方式存储)。不过使用无符号整数来存储也有不便于浏览和需要手动转换的缺点。

上一篇 下一篇
最新文章

如何提高云服务器的安全系数

香港独立IP空间有什么优势

香港空间影响百度收录吗

为啥要租用美国VPS

VPS的缺点有哪些

香港vps作用在哪里

VPS的优点有哪些

外贸网站为啥选择美国vps

VPS能建多少个网站

VPS要如何选择位置

相关文章

如何进行F5负载均衡器设置?

拨号服务器作用有哪些

虚拟云桌面服务器能连多少个终端,这些终端会卡吗?

如何创立韩国服务器的备份

怎样租用到适合自己的新加坡服务器

中国租用美国服务器大概多少钱?(附价格表)

土库曼斯坦云服务器有哪家IDC商提供?租用土库曼斯坦云服务器找桂哥网络

韩国服务器速度不错慢的影响因素有哪些

链路负载均衡:服务器负载均衡选择

桂哥网络——国内高防服务器IDC供给商

X

截屏,微信识别二维码

微信号:muhuanidc

(点击微信号复制,添加好友)

打开微信

微信号已复制,请打开微信添加咨询详情!