答:
大部分mysql的优化都是问题出现之后再根据实际情况开始调整,但是在进行数据库设计的时候,就应该考虑到优化的问题,比如表的设计,schema的设计,数据库的分库分表,都是要提前准备的,但是在准备之前总会有些纰漏,在这种情况下,就需要根据实际情况来进行调整。我之前做mysql调优的时候,基本上是从以下几个维度考虑的,分别是:执行计划、索引的使用情况、sql语句的调优、性能的监控、sql语句的调整、参数的调整这几个方面开始入手的。就拿我之前做的xxx项目来说,当时遇到了 xxx 问题,通过 设计索引、调整参数等方法解决了这个问题,性能上得到了很大的提升(或者是 xx 倍的提升)。当然还有其他场景,比如..... (再次举例)
-------------------------------
举例:之前在创建索引的时候,使用的是字符串类型的列,由于长度问题,导致查询效率变低,在这种情况下,我优化了我的sql语句,调整了创建索引的方式,使用前缀索引的方式来替代当下这种方式。