MySQL 数据库设计三范式与反范式优化

发布时间:2026/7/30 17:08:37
MySQL 数据库设计三范式与反范式优化 数据库设计要遵循三范式但实际开发中为了性能也会适当反范式。一、三范式-- 第一范式1NF列不可再分-- ❌ address 列存了 北京市海淀区可再分为省、市、区-- ✅ 拆分为 province、city、district-- 第二范式2NF非主键列完全依赖于主键-- ❌ 订单表中有 商品名称依赖于商品ID不依赖订单ID-- ✅ 拆分为订单表和商品表-- 第三范式3NF非主键列不能传递依赖-- ❌ 订单表中存了 用户手机号依赖于用户ID-- ✅ 手机号放在用户表中订单表通过用户ID关联二、反范式优化-- 冗余字段减少 JOIN-- 订单表增加 user_name 字段避免每次查询都 JOIN 用户表ALTERTABLEorderADDCOLUMNuser_nameVARCHAR(50);-- 统计字段减少计算-- 文章表增加 comment_count每发一条评论就 1ALTERTABLEarticleADDCOLUMNcomment_countINTDEFAULT0; 觉得有用的话点赞 关注【张老师技术栈】吧