慢查询

慢查询语句

慢查询:慢查询是查询耗时比较久的语句进行SQL优化

慢查询语句查询

  1. 通过诊断优化可以查询到慢查询语句

  2. 慢查询日志中查询

慢查询语句优化

通过explain分析

  1. 走哪些索引

  2. 扫描行数

  3. 有无where,排序等

查看profile

实战

慢查询避免

  1. 索引(log(n))

    1. 首先确认有没有索引可以走

    2. 如果会命中多个索引,应该在测试阶段就多试验,确保不会因为优化器优化选择错误的索引导致扫描的行数过多

  2. 缩小扫描范围

  3. 数据量确实过大则分库分表

分析

我们换个角度考虑,现在有一批非常大数据来给我们处理,写入和读取的次数不确定

map(会频繁Rehash) -> 平衡二叉树(log(n)) -> B树(logm(n)) -> B+树(logm(n), 支持范围查找)

参考

MySQL45讲

最后更新于

这有帮助吗?