网站首页 > 博客文章 正文
MySQL 支持各种各样的数据类型,为字段或者变量选择合适的数据类型,不仅可以有效地节省存储空间,还可以有效地提升数据的计算性能。通常来说,数据类型的选择遵循以下原则。
(1)在符合应用要求(取值范围、精度)的前提下,尽量使用“短”数据类型。
“短”数据类型的数据在外存(例如硬盘)、内存和缓存中需要更少的存储空间,查询连接的效率更高,计算速度更快。例如,对于存储字符串数据的字段,建议优先选用 char(n)和 varchar(n),长度不够时选用text数据类型。
(2)数据类型越简单越好。
与字符串相比,整数处理开销更小,因此尽量使用整数代替字符串。例如,字符串数据'12345'的存储,整数smallint数据12345的存储如果主键选用整数数据类型,可以大大提升查询连接效率,提高数据的检索性能。
另外由于MySQL提供了IP地址与整数相互转换的函数,存储IP地址时可以选用整数类型。
CREATE FUNCTION `int2ip`(ip INT) RETURNS VARCHAR(15)
BEGIN
DECLARE part1 INT DEFAULT 0;
DECLARE part2 INT DEFAULT 0;
DECLARE part3 INT DEFAULT 0;
DECLARE part4 INT DEFAULT 0;
SET part4 = ip % 256;
SET ip = FLOOR(ip / 256);
SET part3 = ip % 256;
SET ip = FLOOR(ip / 256);
SET part2 = ip % 256;
SET part1 = FLOOR(ip / 256);
RETURN CONCAT(part1, '.', part2, '.', part3, '.', part4);
END;
(3)尽量采用精确小数类型(例如decimal),而不采用浮点数类型。使用精确小数类型不仅能够保证数据计算更为精确,还可以节省储存空间,例如百分比使用decimal(4,2)即可。
(4)在MySQL中,应该用内置的日期和时间数据类型,而不是用字符串来存储日期和时间。
(5)尽量避免NULL 字段,建议将字段指定为Not NULL 约束。这是由于在MySQL 中,含有空值的列很难进行查询优化,NULL值会使索引的统计信息以及比较运算变得更加复杂。推荐使用0、一个特殊的值或者一个空字符串代替NULL值。而且mysql也会使用1个字节来表示空的数据。
猜你喜欢
- 2024-09-10 第三章 SQL数据字段、字段类型简介
- 2024-09-10 MySQL中查看数据表结构和字段信息的方法!查看字段数据类型
- 2024-09-10 解决mybatis-plus修改数据库字段数据为NULL时失效的问题
- 2024-09-10 如何较方便给上百张数据库表添加表字段
- 2024-09-10 建议收藏|ArcGIS中操作字段相关代码汇总
- 2024-09-10 如何把数据库表中某个字段的所有2.0,3.0带.0的数据批量修改为2,3
- 2024-09-10 MySQL数据库教程-数据表字段约束(mysql数据库字段长度限制)
- 2024-09-10 简单地运用MySQL的增删改查(mysql增删改查语句)
- 2024-09-10 Excel工作表中的7个数据库函数,易懂易理解,方便且实用
- 2024-09-10 MySQL数据库知识汇总(数据库mysql知识点)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)