mysql数据库表设计注意哪些点?

1. 命名规范。

特别是索引名,比如主键索引名是pk_字段名,唯一索引名是uk_字段名,普通索引名是idx_字段名

2.选择合适的字段类型

3.选择合适的主键id

一般是自增id,如何是分布式的选择优化后的雪花id

4. 选择合适的字段长度

mysql中varchar和char表示的是字符长度,其他表示字节长度。字段长度一般设置为2^n次方

5.优先考虑逻辑删除,而不是物理删除

物理删除无法恢复,且会导致索引树重构

6.一张表字段不宜过多,不要超过20个

7.定义字段尽可能NOT NULL

NULL可能使索引失效,且优化器难以优化sql

8.合理添加索引

索引不建议超过5个

9.不需要严格执行3NF,通过业务字段冗余减少表查询

10.不搞外键关联,一般都在代码维护表之间的关联关系

外键关联更新性能差,扩展性差,容易死锁

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值