zoukankan      html  css  js  c++  java
  • 查询优化点?

    • 避免查询无关的列,如使用Select * 返回所有的列。

    • 避免查询无关的行

    • 切分查询。将一个对服务器压力较大的任务,分解到一个较长的时间中,并分多次执行。如要删除一万条数据,可以分10次执行,每次执行完成后暂停一段时间,再继续执行。过程中可以释放服务器资源给其他任务。

    • 分解关联查询。将多表关联查询的一次查询,分解成对单表的多次查询。可以减少锁竞争,查询本身的查询效率也比较高。因为MySql的连接和断开都是轻量级的操作,不会由于查询拆分为多次,造成效率问题。

    • 注意count的操作只能统计不为null的列,所以统计总的行数使用count(*)。

    • group by 按照标识列分组效率高,分组结果不宜出行分组列之外的列。

    • 关联查询延迟关联,可以根据查询条件先缩小各自要查询的范围,再关联。

    • Limit分页优化。可以根据索引覆盖扫描,再根据索引列关联自身查询其他列。如

       

    SELECT
     id,
     NAME,
     age
    WHERE
     student s1
    INNER JOIN (
     SELECT
         id
     FROM
         student
     ORDER BY
         age
     LIMIT 50,5
    AS s2 ON s1.id = s2.id
      • Union查询默认去重,如果不是业务必须,建议使用效率更高的Union All

  • 相关阅读:
    js排序算法01——冒泡排序
    Math Issues
    2017年终总结
    js中的真值和假值
    element UI 中DateTimePicker 回传时间选择
    Equal Sides Of An Array
    javascript数组总结(0504)
    ajax生成html双引号问题
    关于php ci框架ie浏览器路径问题
    ie提示jquer缺少标识符,字符串或数字
  • 原文地址:https://www.cnblogs.com/programb/p/14089691.html
Copyright © 2011-2022 走看看