• SQL优化思路与解决方案


    1.面对问题SQL的思考

    • 这条查询SQL的语句到底有没有问题?
    • 存在什么问题? 什么情况下存在问题?
    • 怎么去优化?

    2.SQL优化思路

    •   where查询字段是否建立索引?
    • 是否有建立索引但是查询时候没有用到索引,比如说 status != 1 这种查询方式
    • 如果有多个查询条件,是否可以使用联合索引? (一个联合索引就可以解决不需要建立三个索引)
    • 使用explain去发现问题
    • 是否存在深度分页问题?  (在select * from查询下如果分页十万条去取数据,将非常恐怖)
    • 深度分页问题可以考虑使用子查询(先将查询数据的主键id查询出来,在用in去查询数据字段),主要因为回表问题
    • 多条件查询的时候,就是要将数据过滤到最小,所以要将检索的字段顺序排好
    • 如果是分页的接口对外暴露,一定要控制分页的大小(50或者100)
    • 如果是在操作sql进行统计,是否可以异步? 建立专门统计表去处理,而不是每次查询都在sql中操作一遍
    • 如果查询的sql比较复,使用了group by等多个关键字,会创建出多个临时表,影响查询效率
    • 考虑数据库参数配置优化
  • 相关阅读:
    固定思维的可怕(转)
    Javascript模块化编程:require.js的用法
    js中将字符串转为JSON的三种方式
    cf 55D 数位dp 好题
    fzu 2113 数位dp
    uestc 250 数位dp(水)
    hdu 3652数位dp
    数位dp 3943 二分法
    hdu 3943 经典数位dp好题
    hdu 4871 树的分治+最短路记录路径
  • 原文地址:https://www.cnblogs.com/technologykai/p/14067045.html
Copyright © 2020-2023  润新知