我懵了 如果要存 IP 地址 用什么数据类型比较好?
我懵了,如果要存 IP 地址,用什么数据类型比较好?
作者:小牛肉 2023-04-27 07:26:31网络 通信技术 IP 地址的本质是 32 位无符号整数,类似于 192.168.0.1 这种点分十进制的字符串写法只是为了帮助人们理解和记忆,192.168.0.1 对应的十进制表示是 无符号整数 3232235521。提到 IP 地址(IPv4),大伙儿脑子里肯定马上能浮现类似于192.168.0.1、127.0.0.1这种常见的 IP 地址,然后结合这个问题 “MySQL 中用什么数据类型存 IP 地址?”,于是乎脱口而出用char字符串类型存。
面试官一脸冷漠,你顿时意识到情况不对,又仔细琢磨了一下。
然后发现,这个 IP 地址的长度是变化的,最短可以是0.0.0.0只需要 7 位,最长可以是255.255.255.255需要 15 位,于是自信地回答使用varchar(15)来存储 IP 地址,并为自己能够想到这一层而暗自窃喜。
谁知面试官竟轻蔑一笑,问你 “确定吗?”,你觉得这是面试官在考验你,于是坚定的回答 “确定”。
然后就开始了下一题
......
人们经常使用varchar(15)列来存储 IP 地址,但事实上这并不是最优解。
IP 地址的本质是32 位无符号整数,类似于192.168.0.1这种点分十进制的字符串写法只是为了帮助人们理解和记忆,192.168.0.1对应的十进制表示是 无符号整数3232235521。
所以,说用字符串类型存 IP 地址的,其实是潜意识中以为 IP 地址是字符串,存的是点分十进制的字符串,但正确的应该是存 32 位的无符号整数
所谓有符号数其实就是将最高位作为符号位,比如 32 位的有符号 INT,最高位是符号位,剩下 31 位才是真实的数值,所以有符号 INT 的取值区间为:
无符号 INT 的取值区间为:
下表列出了 MySQL 出各个整数类型有符号和无符号的的取值范围,在定义表时,可以在数据类型后面添加关键字UNSIGNED来定义无符号整数,否则默认为有符号整数:
类型
有符号数取值范围
无符号数取值范围
TINYINT(1 字节,8 bit)
-128 〜 127
0 〜 255
SMALLINT(2 字节,16 bit)
-32768 〜 32767
0 〜 65535
MEDIUMINT(3 字节,24 bit)
-8388608 〜 8388607
0 〜 16777215
INT(4 字节,32 bit)
-2147483648 〜 2147483647
0 〜 4294967295
BIGINT(8 字节,64 bit)
-9223372036854775808 〜 9223372036854775807
0 〜 18446744073709551615
结合上表,可以看出,32 位的无符号 INT正好可以容纳 IPv4 地址,下面是INT UNSIGNED和VARCHAR(15)两种数据类型的对比:
存储空间:4 字节的INT类型 15 字节的 VARCHAR(15)更加节省存储空间。另外,VARCHAR 除了会保存需要的字符数,还会另加一个字节来记录长度(如果列声明的长度超过 255,则使用两个字节记录长度),所以VARCHAR(15)其实要占用 16 个字节。检索速度:如果我们要在 IP 地址上建立索引,那么对于字符串索引来说,整数索引的检索速度简直就是降纬打击了,因为字符串类型的比较是需要从第一位字符开始遍历依次进行的,速度较慢。MySQL 非常贴心地提供了 IPv4 地址点分十进制和无符号整数的相互转换函数,inet_aton和inet_ntoa(底层是二进制移位操作,速度很快):
当然你更应该在业务中去执行这些转换,减轻 MySQL 的压力。
责任编辑:武晓燕 来源:飞天小牛肉 IP地址无符号推荐系统
电脑公司Ghost Win8.1 x32 精选纯净版2022年7月(免激活) ISO镜像高速下载
语言:中文版系统大小:2.98GB系统类型:Win8电脑公司Ghost Win8.1x32位纯净版V2022年7月版本集成了自2022流行的各种硬件驱动,首次进入系统即全部硬件已安装完毕。电脑公司Ghost Win8.1x32位纯净版具有更安全、更稳定、更人性化等特点。集成最常用的装机软件,精心挑选的系统维护工具,加上绿茶独有
微软Win11原版22H2下载_Win11GHOST 免 激活密钥 22H2正式版64位免费下载
语言:中文版系统大小:5.13GB系统类型:Win11微软Win11原版22H2下载_Win11GHOST 免 激活密钥 22H2正式版64位免费下载系统在家用办公上跑分表现都是非常优秀,完美的兼容各种硬件和软件,运行环境安全可靠稳定。Win11 64位 Office办公版(免费)优化 1、保留 Edge浏览器。 2、隐藏“操作中心”托盘图标。 3、保留常用组件(微软商店,计算器,图片查看器等)。 5、关闭天气资讯。
Win11 21H2 官方正式版下载_Win11 21H2最新系统免激活下载
语言:中文版系统大小:4.75GB系统类型:Win11Ghost Win11 21H2是微软在系统方面技术积累雄厚深耕多年,Ghost Win11 21H2系统在家用办公上跑分表现都是非常优秀,完美的兼容各种硬件和软件,运行环境安全可靠稳定。Ghost Win11 21H2是微软最新发布的KB5019961补丁升级而来的最新版的21H2系统,以Windows 11 21H2 22000 1219 专业版为基础进行优化,保持原汁原味,系统流畅稳定,保留常用组件
windows11中文版镜像 微软win11正式版简体中文GHOST ISO镜像64位系统下载
语言:中文版系统大小:5.31GB系统类型:Win11windows11中文版镜像 微软win11正式版简体中文GHOST ISO镜像64位系统下载,微软win11发布快大半年了,其中做了很多次补丁和修复一些BUG,比之前的版本有一些功能上的调整,目前已经升级到最新版本的镜像系统,并且优化了自动激活,永久使用。windows11中文版镜像国内镜像下载地址微软windows11正式版镜像 介绍:1、对函数算法进行了一定程度的简化和优化
微软windows11正式版GHOST ISO镜像 win11下载 国内最新版渠道下载
语言:中文版系统大小:5.31GB系统类型:Win11微软windows11正式版GHOST ISO镜像 win11下载 国内最新版渠道下载,微软2022年正式推出了win11系统,很多人迫不及待的要体验,本站提供了最新版的微软Windows11正式版系统下载,微软windows11正式版镜像 是一款功能超级强大的装机系统,是微软方面全新推出的装机系统,这款系统可以通过pe直接的完成安装,对此系统感兴趣,想要使用的用户们就快来下载
微软windows11系统下载 微软原版 Ghost win11 X64 正式版ISO镜像文件
语言:中文版系统大小:0MB系统类型:Win11微软Ghost win11 正式版镜像文件是一款由微软方面推出的优秀全新装机系统,这款系统的新功能非常多,用户们能够在这里体验到最富有人性化的设计等,且全新的柔软界面,看起来非常的舒服~微软Ghost win11 正式版镜像文件介绍:1、与各种硬件设备兼容。 更好地完成用户安装并有效地使用。2、稳定使用蓝屏,系统不再兼容,更能享受无缝的系统服务。3、为
雨林木风Windows11专业版 Ghost Win11官方正式版 (22H2) 系统下载
语言:中文版系统大小:4.75GB系统类型:雨林木风Windows11专业版 Ghost Win11官方正式版 (22H2) 系统下载在系统方面技术积累雄厚深耕多年,打造了国内重装系统行业的雨林木风品牌,其系统口碑得到许多人认可,积累了广大的用户群体,雨林木风是一款稳定流畅的系统,一直以来都以用户为中心,是由雨林木风团队推出的Windows11国内镜像版,基于国内用户的习惯,做了系统性能的优化,采用了新的系统
雨林木风win7旗舰版系统下载 win7 32位旗舰版 GHOST 免激活镜像ISO
语言:中文版系统大小:5.91GB系统类型:Win7雨林木风win7旗舰版系统下载 win7 32位旗舰版 GHOST 免激活镜像ISO在系统方面技术积累雄厚深耕多年,加固了系统安全策略,雨林木风win7旗舰版系统在家用办公上跑分表现都是非常优秀,完美的兼容各种硬件和软件,运行环境安全可靠稳定。win7 32位旗舰装机版 v2019 05能够帮助用户们进行系统的一键安装、快速装机等,系统中的内容全面,能够为广大用户
相关文章
- WinXP开机进入滚动条便自动重启的处理办法
- 笔记本怎么重装系统
- Win11打印机怎么共享到另一台电脑?打印机共享到另一台电脑步骤
- QQ旋风下载任务及定时关机设置_腾讯QQ
- 永别了IEWin10最新浏览版
- Win8文件夹选项在哪里?Win8文件夹选项如何设置?
- 怎样给U盘设置efi引导分区?
- XP系统安装程序出现“msiexec.exe应用程序出错”怎样办?
- 使用scp在windows和linux之间互传文件
- 一键重装纯净win8系统之家教程
- 选购U盘时应该注意哪些问题?
- win10注销 两种windows10系统注销方法
- 防范win10升级助手办法(图文)
- 微软介绍 Edge 105 浏览器新功能:可使 PWA 应用更像原生应用
- Windows 8.1总是需要验证微软账户怎样处理?
- win7宽带自动断开连接怎么办 win7宽win7网络如何断开连接带连接不上的快速解决方法
- Win7旗舰版系统硬盘模式蓝屏怎么解决?
- Win10怎样关闭带有新闻提要的IE浏览器新标签页?
热门系统
- 1华硕笔记本&台式机专用系统 GhostWin7 32位正式旗舰版2018年8月(32位)ISO镜像下载
- 2深度技术 Windows 10 x86 企业版 电脑城装机版2018年10月(32位) ISO镜像免费下载
- 3电脑公司 装机专用系统Windows10 x86喜迎国庆 企业版2020年10月(32位) ISO镜像快速下载
- 4雨林木风 Ghost Win7 SP1 装机版 2020年4月(32位) 提供下载
- 5深度技术 Windows 10 x86 企业版 六一节 电脑城装机版 版本1903 2022年6月(32位) ISO镜像免费下载
- 6深度技术 Windows 10 x64 企业版 电脑城装机版2021年1月(64位) 高速下载
- 7新萝卜家园电脑城专用系统 Windows10 x64 企业版2019年10月(64位) ISO镜像免费下载
- 8新萝卜家园 GhostWin7 SP1 最新电脑城极速装机版2018年8月(32位)ISO镜像下载
- 9电脑公司Ghost Win8.1 x32 精选纯净版2022年5月(免激活) ISO镜像高速下载
- 10新萝卜家园Ghost Win8.1 X32 最新纯净版2018年05(自动激活) ISO镜像免费下载
热门文章
常用系统
- 1深度技术Win10正式版下载_深度技术Win10 20H2 64位专业版免激活下载
- 2电脑公司GHOST WIN7 SP1 经典旗舰版X86 v2020.02系统免费下载
- 3新萝卜家园电脑城专用系统 Windows10 x64 企业版 版本1903 2022年7月(64位) ISO镜像免费下载
- 4电脑公司 GHOST XP SP3 正式专业版 V2023.09 下载
- 5电脑公司 GHOST XP SP3 装机特别版 V2023.04 下载
- 6中关村Ghost win7 旗舰版64位 v2019.12系统最新版正式下载
- 7电脑公司Win11特别版下载_电脑公司 Ghost Win11 64位 专业激活版下载
- 8新萝卜家园 GhostWin7 SP1 电脑城极速稳定版2020年1月(32位) ISO镜像高速下载
- 9风林火山 Ghost WinXP SP3 全新极速版下载_风林火山 Ghost WinXP SP3 极速装机版下载
- 10雨林木风Ghost Win8.1 (X32) 快速纯净版2022年5月(免激活) ISO镜像快速下载