数据库设计需要注意什么?

1.数据库表、字段必须必须加入中文注释

因为时间一长如果名字有不是很规范,你不知道这些字段做什么用的.

 

2.禁止使用存储过程、视图、触发器、event

因为在高并发量的情况下,我们应该把计算转移到服务层,否则这些功能很可能把数据库拖垮。

 

3.禁止存储大文件和图片

不能让数据库做它不擅长的事情,大文件和照片都存在文件系统中,数据库存放URL

 

4.禁止使用外键,如果有外键完整性约束,需要应用程序控制

外键会导致表与表之间耦合,update和delete操作都会涉及相关联的表,十分影响sql的性能,甚至会造成死锁,高并发情况下容易造成数据库性能下降,高并发场景下数据库使用以性能为主。

 

5.使用varchar(20)存储手机号

因为有的国家代号或者区号什么的,会出现+-(),varchar可以支持模糊查询,例如 like "138%"

 

6.单表索引建议控制在5个以内,单索引字段数不允许超过5个

字段超过5个时,实习已经起不到有效过滤数据的作用。

 

7.禁止在更新十分频繁,区别度不高的属性上加索引

更新会变更B+树,更新频繁的字段建立索引会大大降低数据库性能

性别这种区分度不大的属性,建立索引是没什么意义的,不能有效过滤数据,性能和全表扫描类似

 

8.建立组合索引,必须把区分度高的字段放在前面

能够更加有效的过滤数据

转载于:https://my.oschina.net/u/4152780/blog/3069844

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值