掌握数据库实战的四大公式

本文探讨了MySQL表设计的关键原则,包括字段长度优化,如优先使用int而非varchar,选择合适的字段类型如char超前于varchar,设置默认值以避免null,并强调了合理创建索引以提升查询效率。遵循这些实践,可以实现更高效、更节省空间的数据库设计。
摘要由CSDN通过智能技术生成
MySql表设计实战遵守的公式

字段长度

​ 能使用int就不要使用varchar、char,能用varchar(16)就不要使用varchar(256)

​ 长度够就好,正好就好

​ (虽然varchar16和varchar256存储hello所占空格键一样,但后者在排序时会消耗更多内存,因为order by col采用fixed_length计算col长度,memory引擎也一样)

字段选择

​ 固定长度的类型最好使用char,能使用tinyint就不要使用int

​ (char和varchar类型在存储和检索方面不同)

​ (存储问题,如果选择varchar存储,你存123或abc都可以,导致字段无一致性,使用固有类型可以判断有些值存不进去)

默认值

​ 最好给每个字段一个默认值,最好不能为null,即not null default

​ int可以默认0,varchar可以默认空串

​ (null值会占用更多的字节,并且会在程序中造车很多与预期不符的情况)

适当索引

​ 为每个表创建合理的索引,如唯一索引组合索引的场景以及普通索引的场景

​ 唯一索引,除了主键还有格别字段,比如code建立唯一索引。当你添加一个相同的值会强校验

​ (选择合适索引,过多复杂索引不会提高性能反而会降低)

表中字段选择合适的数据类型

字段类型优先级:整型>datatime>enum>char>varchar>blob>text

优先考虑数字类型,其次是日期或者二进制类型,最后是字符串类型,同级别的数据类型,应该优点选择占用空间小的数据类型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值