-
单表优化:
- 字段选择:尽量使用
TINYINT、SMALLINT、MEDIUMINT作为整数类型,而非INT;如果字段值非负,可以使用UNSIGNED。对于字符串字段,使用枚举或整数代替字符串类型,使用TIMESTAMP而非DATETIME。尽量减少字段数量,建议在20个以内,避免使用NULL字段,因为它们会增加查询复杂度并占用额外索引空间。 - 索引优化:索引不是越多越好,应根据查询需求有针对性地创建。避免在
WHERE和ORDER BY命令中涉及的列建立索引,避免对字段进行NULL值判断,因为这会导致全表扫描。对于值分布稀疏的字段,如“性别”,不适合建索引。字符字段最好建前缀索引,避免使用主键和外键,尽量使用多列索引,并删除不必要的单列索引。 - 查询优化:开启慢查询日志来找出执行时间较长的SQL语句。避免列运算和复杂的查询操作,如使用
OR而非IN(建议IN的个数控制在200以内)。避免使用函数和触发器,尽量使用同类型进行比较,避免在WHERE子句中使用!=
- 字段选择:尽量使用
大表查询的优化方案
于 2025-04-14 20:26:17 首次发布

最低0.47元/天 解锁文章
602

被折叠的 条评论
为什么被折叠?



