原则
1、是否向数据库请求了不需要的数据。
2、MySQL server是否在分析大量超过需要的数据。
具体思路
是否加锁了?加锁是否合理?
是否使用了索引?索引覆盖、索引合并、索引下推、MRR(Multi-Range Read)
如果是复杂查询是否可以考虑拆分为多条语句?可以提高缓存利用率,减少了关联查询(MySQL只是嵌套循环关联,非哈希关联,效率低)
当limit的偏置比较大时,可以使用延迟关联
异步读,冗余读
重写轻读
数据库是否有多从
缓存
分区分表
是否是网速限制
限流降级