开发者社区> 问答> 正文

优化查询过程中的数据访问

优化查询过程中的数据访问

展开
收起
请回答1024 2020-03-31 11:22:58 741 0
1 条回答
写回答
取消 提交回答
  • 访问数据太多导致查询性能下降

    确定应用程序是否在检索大量超过需要的数据,可能是太多行或列

    确认MySQL服务器是否在分析大量不必要的数据行

    避免犯如下SQL语句错误

    查询不需要的数据。解决办法:使用limit解决

    多表关联返回全部列。解决办法:指定列名

    总是返回全部列。解决办法:避免使用SELECT *

    重复查询相同的数据。解决办法:可以缓存数据,下次直接读取缓存

    是否在扫描额外的记录。解决办法:

    使用explain进行分析,如果发现查询需要扫描大量的数据,但只返回少数的行,可以通过如下技巧去优化:

    使用索引覆盖扫描,把所有的列都放到索引中,这样存储引擎不需要回表获取对应行就可以返回结果。

    改变数据库和表的结构,修改数据表范式

    重写SQL语句,让优化器可以以更优的方式执行查询。

    2020-03-31 11:23:23
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
MySQL查询优化实战 立即下载
重新出发:阿里云数据库开源整体策略 立即下载
存储分层企业数据存储类型选择与优化 立即下载