关于数据库优化,网上有很多理论的东西,这一些都不太接地气,我想知道,实战中碰到了哪些问题,采用哪些数据库优化方式,解决了问题。
这玩意得好几本书总结了。。索引,缓存,备份,innodb,慢查询,减少复杂sql。。前期结构设计的合理,会让程序维护起来超级省心。使用合理的字段类型,合理纵向分表,不要妄想单表解决业务。
首先就是,对项目中出现的所有的SQL语句进行EXPLAIN分析,比如有5条语句都用到某一张表,必须对其综合进行分析,添加合适的索引或者联合索引。因为索引不是越多越好,如果存在索引的话,数据库的每次插入删除都需要更新维护索引,可能会得不偿失。
EXPLAIN
如果数据量足够大的话,那就考虑分区分表。
1、慢查询监控2、explain具体优化3、复杂sql拆开4、辅助nosql
加索引
按月分表
尽量不要使用子查询