在MySQL中选择字段类型的几种原则

选择合适数据类型的原则

1.选择正确的类型

保存年龄信息应该使用整型的其中一种而不是varchar。如果用varchar保存的年龄,但是查询时传的数据却是整型,则会导致索引失效。

2.选择高效的类型

MySQL处理数值类型的效率要高于字符串类型,不论是在存储还是索引优化上,数值类型都要更优。

3.选择经济的类型

同样的,保存数值类型使用的内存空间通常要比字符串要少。如保存时间数据,用int只需要占用8个字节,如果用varchar类型,实际占用的空间因保存的数据格式不同也会不同。用varchar保存时间戳会占用10个字节,如果保存一定格式的日期,如"2024-06-29 00:00:00"则需要19个字节。

另外对于varchar类型,还需要额外的一个或两个字节记录varchar的长度

用int保存时间戳也有一个弊端,它最大值只能表示2038年

设置字段时应避免的问题

避免用null作为默认值,无非必要不要用null作为默认值。MySQL在保存null值时需要额外的字节空间标记,另外在查询时运行null的字段也不利于查询引擎的优化

为什么要执行这些原则

SQL优化是每个开发人员都知道的一项技能,其实真正的SQL优化不仅仅是对SQL语句的优化。数据表结构、SQL语句和索引都是SQL优化的一部分,如果表结构设计的缺陷很大,就会成为SQL优化的瓶颈。

选择合适的字段类型是SQL优化的基础,不合适的字段类型也是导致索引失效的一个原因。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值