专栏名称: 架构师
架构师云集,三高架构(高可用、高性能、高稳定)、大数据、机器学习、Java架构、系统架构、大规模分布式架构、人工智能等的架构讨论交流,以及结合互联网技术的架构调整,大规模架构实战分享。欢迎有想法、乐于分享的架构师交流学习。
今天看啥  ›  专栏  ›  架构师

面试官:如果要存ip地址,用什么数据类型比较好

架构师  · 公众号  ·  · 2024-11-06 22:29
    

文章预览

架构师(JiaGouX) 我们都是架构师! 架构未来,你来不来? 在看高性能MySQL第3版(4.1.7节)时 ,作者建议 当存储IPv4地址时,应该使用32位的无符号整数(UNSIGNED INT)来存储IP地址,而不是使用字符串。  但是没有给出具体原因。 为了搞清楚这个原因,查了一些资料,记录下来。 相对字符串存储,使用无符号整数来存储有如下的好处: 节省空间,不管是数据存储空间,还是索引存储空间 便于使用范围查询(BETWEEN...AND),且效率更高 通常,在保存IPv4地址时,一个IPv4最小需要7个字符,最大需要15个字符,所以,使用 VARCHAR(15) 即可。MySQL在保存变长的字符串时,还需要额外的一个字节来保存此字符串的长度。而如果使用无符号整数来存储,只需要4个字节即可。 另外还可以使用4个字段分别存储IPv4中的各部分,但是通常这不管是存储空间和查询效率应 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览