除了 SQL 本身,数据库结构设计也会深刻影响性能。字段设计不合理、关联过多、表过宽或过深,都会带来性能问题。
如果一张表字段非常多,可以考虑按业务拆分为多个表。
例如:
这样做的好处包括:
在多对多关系中,增加中间表通常比把多个值塞进一个字段更规范。
例如:
中间表不仅更符合关系模型,也更利于查询和索引优化。
某些场景下,适当增加冗余字段可以减少频繁连接查询。
例如:
当然,这种优化要权衡一致性维护成本。
提升插入速度的常见方法包括:
MySQL 也提供了一些表维护语句:
ANALYZE TABLE user;
CHECK TABLE user;
OPTIMIZE TABLE user;
它们分别用于:
结构优化关注的是“表应该怎么设计”,而不是单条 SQL 怎么写。表拆分、中间表、冗余字段和维护语句,都是结构层面的常见优化手段。