mysql 优化
目标:
1: 提高IO性能
2: 减少cpu 运算次数
3: 相同硬件下提升性能
解决方案:
1: 复杂的运算通过程序来解决
2:通过高速缓存减少mysql压力
3:分库分表,分布式,主从
4:mysql 调优,语句优化
5: 合理的设计表结构及索引
6:硬件升级
查询优化方法
拆分大的sql语句
explan查询
尽量避免扫表
查询中不涉及运算
查询字段时用什么取什么
命中索引
not null
尽量减少子查询
少用orderby rand()
避免使用!=或<>、IS NULL或IS NOT NULL、IN ,NOT IN等这样的操作符
尽量使用数字型字段,这是因为引擎在处理查询和连接回逐个比较字符串中每一个字符,而对于数字型而言只需要比较一次就够了。
能够用BETWEEN的就不要用IN
能用UNION ALL就不要用UNION
少用 '%LIKE%' 而用 'LIKE xxx %' 后者会索引,前者扫表