Mysql的3F,分库分表,索引,慢查询以及调优

1数据库设计的3F 三范式
①原子性:每列不可再分

id 		name		address
1			刘涛			浙江省杭州市余杭区

name不再分,
在国民健康电商项目中,address要分,区分省,市,区/县
某些字段要不要再分,取决于业务
②唯一性:例如主键

id		order_no(唯一)		createtime
1		GM1234					2018-04-06			

在项目订单表中,不以id作为订单的唯一标识,而是以order_no。项目内部的RPC调用id,外部使用order_no
在分布式系统中要保证订单号的幂等性,也就是唯一性,项目中提前生成订单号,存放在redis中,需要直接去取
③不要有冗余数据

sku_id			goods_name			category
1729			小康智能音箱			智能家居
1658			耐克运动鞋				鞋服
...

可以设计成这样

sku_id			goods_name			categoryid
1729			小康智能音箱			10
1658			耐克运动鞋				8
    ...

categoryid		categoryname
8						鞋服
10					智能家居

在实际项目中其实不一定要严格遵循3F,而是要根据自己的项目实际需求,设计合理的数据库
例如:

category				salenum
8							1000
9							2000
10						3000

如果要所有商品的销售总量


                
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值