mysql优化主要优化是在查询方面,对性能比较大的影响就是索引,
索引优化:
1.给经常作为查询或者需要排序的列建立索引;原因是如果需要排序没有索引就会使用全文索引比较消耗性能;
2.尽量用主键索引,因为主键和数据是存在一起的,可以最快定位到数据(聚集索引);
3.二级索引可以设计为组合覆盖索引避免回表;
4.主键尽量用int类型,减少将来建立二级索引占用空间,提升效率,
5.模糊查询不让%在前面,因为用这个会造成索引失效,如果要用建议用ES;
6.避免在比较字段上使用函数,或者执行数据类型转换;
Sql优化:
1.用explain评估索引使用情况,扫描行数等避免全表扫描;
2.使用慢查询日志定位问题sql;
3.不用select *
4.多使用limit 限制行数
5.合理使用分页(越往后翻页,效率越低)分页插件会智能的添加limit起始 ,如limit 999999990,10 优化 where id>9999999989 limit 10 ,前提是id中间没有空缺,
6.避免null值,常用默认值
7.减少大表连接,最好不要超过3层;
单库数据量太大再考虑分库分表;