高性能Mysql04-Mysql主键选择和数据库设计

本文探讨了数据库设计中的主键选择,强调整数类型通常优于字符串类型,因为它们更快且节省空间。同时,指出应避免过多的列和关联,以及枚举类型的使用,以提高性能。在Mysqlscheme设计中,减少列数量和避免冗余关联能有效提升效率。
摘要由CSDN通过智能技术生成

主键 数据类型选择

1、整数类型:整数通常是标识列最好的选择,因为快并且可以使用AUTO_INCREMENT。

2、字符串类型:应该避免使用字符串类型作为标识列,因为它们很消耗空间,并且通常比数字类型慢。

    对于完全随机的字符串,例如MD5()、SHA1()或者UUID()产生的字符串会任意分布在很大的空间内,这会导致INSERT以及一些SELECT语句变得很慢。

   以字符串作为主键不如递增的整数好用。

Mysql scheme设计

1、避免过多的列:Mysql的存储引擎API工作时需要在服务器层和存储引擎层之间通过行缓冲格式拷贝数据,然后在服务层将缓冲内容解码成各个列,这个操作代价是非常高的。

2、避免过多的关联。

3、避免使用枚举类型:需要使用枚举的地方应该用整数作为外键关联到字典表或者查找表来查找具体值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值