3.存储IP值IP值一般使用char或varchar进行存储,但是当进行查找和统计时,字符类型不是很高效 。MySQL数据库内置了两个IP相关的函数INET_ATON()
、INET_NTOA()
,可以实现 IP 地址和整数类型的转换 。转换后使用可以INT UNSIGNED 来存储IP,转换后的数字是连续的,提高了查询性能,占用空间更小 。
CREATE TABLE `tb_ip` ( `increment_id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT ‘自增主键‘, `name` varchar(100) NOT NULL COMMENT ‘姓名‘, `inet_ip` int(10) unsigned NOT NULL COMMENT ‘IP‘, PRIMARY KEY (`increment_id`), KEY `idx_inet_ip` (`inet_ip`)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT=‘ip测试表‘;# 插入数据insert into `tb_ip` (`name`,`inet_ip`) values (‘wang‘,INET_ATON(‘192.168.0.1‘)),(‘lisi‘,INET_ATON(‘192.168.0.2‘));# 相互转换select INET_ATON(‘192.168.0.1‘);select INET_NTOA(3232235521);
总结:?
本篇文章分享了几个库表设计及字段类型选取的建议 。这些案例都是常常见到的场景,对于int类型及时间类型的选取,本文也根据常见场景给出相关建议,希望大家读完这篇文章有所收获 。其实库表设计是件复杂的事情,需要在项目前期多方人员共同规划讨论 。还是那句话,只有优秀的库表设计才能发挥出MySQL最大的性能 。
文章插图
MySQL库表设计小技巧
标签:wan otc image 超过 time() ima 场景 png cms
- 如何了解数据库?
- MySQL教程5 MySQL8存储引起 2.MySQL8锁策略 学习猿地
- MySQL教程3 MySQL8操作数据表中记录 13.MySQL多表更新 学习猿地
- MySQL教程-19-数据排序
- mysql:索引的本质详解
- mysql事务的隔离性等级事故
- mysql:索引之二叉树初步理解
- 学生管理系统 SQL Server数据库项目
- mysql:数据库之删除记录对自动增长的影响
- 不懂数据库知识的前端后端程序员就真可能变成猿吗