Mysql 访问优化


优化数据库访问

确认检索的数据超过需求的数据

几种典型不好的操作

  1. 查询不需要的数据
  2. 多表关联时获取所有列
  3. 获取所有的列
  4. 重复查询相同的数据

确认MySQL服务器扫描的数据超过需求的数据

三个指标

  • 执行时间
  • 扫描的行数
  • 检查的行数

where的应用:(由好到坏)

  1. 在索引中使用WHERE条件过滤不匹配的行数(发生在存储引擎层)
  2. 使用覆盖索引来避免行访问和过滤掉不匹配的行(发生在服务器层)
  3. 从数据表中返回数据,然后过滤不满足的数据(发生在服务器层)

在大量数据中返回少量的行。可以考虑

  1. 使用覆盖索引
  2. 改变数据库结构,添加单独的汇总表
  3. 重写复杂的查询

文章作者: 彭峰
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 彭峰 !
  目录