很多时候我们数据库存储ip地址都是以字符串的形式的,毕竟那个ip地址点来点去的,其他类型都无法存储了,今天带来一个小知识,mysql中的inet_aton使用

从上图可以看到,使用这个函数可以把ip地址转化为整型,那么就好办了,我们可以把ip地址存储为整型

比较

为什么要介绍这个小知识,看到下面的测试用例,你就会知道了
创建两张不同的表,c1是使用int类型进行存储的,c2是使用char类型存储的
inet_aton 把ip转为无符号整型(4-8位),而ip地址最长是15位,我们使用15位的char来存储就行了
下面附上两张表的创建语句:

接下来给两张表传入相同数据


我们来看看两张表的大小

使用的是mysql中的自带的一张表information_schema
查询语句如下:

use information_schema;SELECTconcat(round(sum(DATA_LENGTH / 1024 / 1024),8),'MB') AS DATA
FROMTABLES
WHEREtable_schema = 'ip_container'
AND table_name = 'c1'SELECTconcat(round(sum(DATA_LENGTH / 1024 / 1024),8),'MB') AS DATA
FROMTABLES
WHEREtable_schema = 'ip_container'
AND table_name = 'c2'

结论:我们可以看到存储相同的地址,两个表所占用的空间是不一样的,如果该表数据量比较大的时候,差距会很明显的了

Mysql数据库存储ip地址相关推荐

  1. mysql数据库ip地址_MySQL数据库存储IP地址的方法

    为什么要问如何存储IP? 首先就来阐明一下部分人得反问:为什么要问IP得怎样存,直接varchar类型不就得了吗? 其实做任何程序设计都要在功能实现的基础上最大限度的优化性能.而数据库设计是程序设计中 ...

  2. MySQL怎样存储IP地址

    为什么要问如何存储IP 首先就来阐明一下部分人得反问:为什么要问IP得怎样存,直接varchar类型不就得了吗? 其实做任何程序设计都要在功能实现的基础上最大限度的优化性能.而数据库设计是程序设计中不 ...

  3. 数据库存储 IP 地址的几种方式

    数据类型 占用空间 可读性排名 查询效率排名 储存方式 varchar(15) 7-15字节 1 4 192.168.120.65 bigint 8字节 2 1 19216812065 int 4字节 ...

  4. mysql中存储ip地址,将ip转换为整数存储

    mysql中将ip转换为整数存储,可以节省空间和提高性能,但是不利于阅读.<msql高性能>中推荐将ip地址转换为整数,用一个无符号的32位的整数存储. select INET_ATON( ...

  5. oracle数据库存储ip地址,oracle – 以十进制形式存储的IP地址 – PL / SQL以虚线四边形显示...

    这是您需要的功能: create or replace function inttoip(ip_address integer) return varchar2 deterministic is be ...

  6. MySQL如何有效的存储IP地址

    文章目录 序言 工具类实现转换 数据库函数实现转换 一.IP地址应该怎么存 二.整数存储 IP 地址的查询性能实验 1.测试范围查询: 2.IP精确查询: 3.整理一下结果发现: 总结 首先就来阐明一 ...

  7. mysql存储ip地址_MySQL怎样存储IP地址

    为什么要问如何存储IP 首先就来阐明一下部分人得反问:为什么要问IP得怎样存,直接varchar类型不就得了吗? 其实做任何程序设计都要在功能实现的基础上最大限度的优化性能.而数据库设计是程序设计中不 ...

  8. 【mysql】MySQL存储IP地址

    为什么要问如何存储IP 首先就来阐明一下部分人得反问:为什么要问IP得怎样存,直接varchar类型不就得了吗? 其实做任何程序设计都要在功能实现的基础上最大限度的优化性能.而数据库设计是程序设计中不 ...

  9. 在数据库中存储IP地址

    IP addresses can be stored in a database in any of several ways.  These ways may vary based on the v ...

最新文章

  1. 旷视5号员工陈可卿:1991生于绍兴、10岁买电脑改变命运,信息奥赛金牌保送清华...
  2. maven 打包_一次打包引发的思考,原来maven还可以这么玩~
  3. phpMyAdmin常用设置
  4. 5月学习总结(Ant-Design,mustache,require.js,grunt)
  5. Golang并发——并发技术Goroutine和channel的使用、定时器、生产者消费者、条件变量、select
  6. 在线求CR,你觉得我这段Java代码还有优化的空间吗?
  7. TensorFlow——共享变量的使用方法
  8. srve0255e尚未定义要怎么办_斜视怎么办?日常的护理工作有哪些?
  9. 5G New Radio and System Standardization in 3GPP(3gpp中5g新的无线电和系统标准化)
  10. ubuntu常用命令或设置
  11. python socket原理 及socket如何使(tcp udp协议)
  12. Spring 定时器的使用(task)
  13. jdbc mysql 存储过程执行失败_JDBC连接执行MySQL存储过程报权限错误
  14. ocr初始化失败怎么办_应用程序正常初始化失败
  15. 色度抽样(4:2:0)到底是什么意思?
  16. 6.7 【实例】窗口查看器
  17. win10更新不支持uefi固件的磁盘布局
  18. matlab 将子文件下同名称文件移植到同一文件夹下并按序排列重命名n.bmp,n=1,2,3...
  19. JavaScript数据类型基本数据类型与引用数据类型的区别
  20. 【硬件在环Hil联调问题记录1】

热门文章

  1. Emacs之缩进(五十三)
  2. IDEA:Warning: No artifacts marked for deployment
  3. 程序员白头发是怎样一种感受?
  4. GPIO的寄存器BSRR和BRR使用摘抄汇总
  5. Springboot高校学生实习档案管理毕业设计-附源码221508
  6. 芯片IC失效分析测试
  7. docker容器时间错误解决方案
  8. 猜数字游戏项目验收总结
  9. 关于DOS-BOX的使用方法
  10. 计算机毕业答辩程序无法运行,计算机专业毕业答辩程序