Skip to content

Latest commit

 

History

History
71 lines (44 loc) · 1.63 KB

File metadata and controls

71 lines (44 loc) · 1.63 KB

优化数据库结构

除了 SQL 本身,数据库结构设计也会深刻影响性能。字段设计不合理、关联过多、表过宽或过深,都会带来性能问题。

将字段很多的表分解成多个表

如果一张表字段非常多,可以考虑按业务拆分为多个表。

例如:

  • 核心用户信息放一张表
  • 扩展资料放另一张表

这样做的好处包括:

  • 减少单表宽度
  • 提高常见查询效率
  • 降低无关字段读取成本

增加中间表

在多对多关系中,增加中间表通常比把多个值塞进一个字段更规范。

例如:

  • 用户和角色
  • 学生和课程
  • 文章和标签

中间表不仅更符合关系模型,也更利于查询和索引优化。

增加冗余字段

某些场景下,适当增加冗余字段可以减少频繁连接查询。

例如:

  • 在订单表中冗余保存用户名
  • 在明细表中冗余保存分类名称

当然,这种优化要权衡一致性维护成本。

优化插入记录的速度

提升插入速度的常见方法包括:

  • 批量插入代替单条插入
  • 合理控制索引数量
  • 避免不必要的触发器和复杂约束
  • 在合适场景中使用事务批量提交

分析表、检查表和优化表

MySQL 也提供了一些表维护语句:

ANALYZE TABLE user;
CHECK TABLE user;
OPTIMIZE TABLE user;

它们分别用于:

  • 更新统计信息
  • 检查表状态
  • 整理和优化表空间

小结

结构优化关注的是“表应该怎么设计”,而不是单条 SQL 怎么写。表拆分、中间表、冗余字段和维护语句,都是结构层面的常见优化手段。