MySQL性能优化经验

it2024-10-09  25

 

核心

不做运算 md5() Order By Rand()控制单表数据量保持表字段苗条平衡范式与冗余拒绝3B Big SQL Big Transaction Big Batch

字段

用好数值字段类型将字符转为数字 IP优先使用枚举 ENUM``SET避免使用NULL字段少用并拆分TEXT/BLOB不存图片

索引

谨慎合理添加索引 20%字符字段必须建前缀索引不在索引列做运算自增列或全局ID做InnoDB主键尽量不用外键

SQL

SQL语句尽可能简单保持事务(连接)短小避免使用SP/TRIG/FUNC避免使用 SELECT *改写OR语句 IN UNION避免负向查询和%前缀模糊查询减少COUNT(*)LIMIT高效分页用UNION ALL而非UNION分解联接保证高并发GROUP BY去除排序同数据类型的列值比较Load data导数据打散大批量更新 SLEEPKnow Every SQL

约定

隔离线上线下禁止未经DBA确认的子查询永远不在程序端显式加锁统一字符集为UTF8统一命名规范

转载于:https://www.cnblogs.com/jxlwqq/p/5590021.html

最新回复(0)