好久没更博了,偷偷的抽时间写一下。

    早上开始working的时候,发现一个页面加载很慢,经排查是昨天写的一条联合查询的sql导致的。于是着手优化!

    首先想到的是在join的时候,减少表体积之后再进行关联,于是有了下面这种写法:

     (原sql)  a join b on a.bid=b.id  =>  (新sql) a join (select id,phone from b where b.site=35) b on a.bid=b.id  

    上面是将b表进行where过滤以后再与a表进行关联,执行以后查询相对快了一点,毕竟b表体积小了,关联的时候自然就快了一点。但是,瞅着这句sql就是不太顺眼,毕竟用了子查询,虽然方便,但是感觉还是有损效率的。这个时候,就突然想起以前看到的一个博主写到的,“在使用join以后,可以在on或者where后面加上条件,sql在解析的时候,会先读取条件,再进行关联”,想到这里,就恍然大悟了,何必用子查询?直接后面在where里写条件就好了。

    另外一个方面,查询的时候,一般的会有多个表进行关联, 遵循上面的原理,我们一般把小表放后面,查完了小表再去关联大表。

    

      这里我是用的sql server ,查询的时候有个分析工具挺好用的:

    

    就这个,显示估计的执行计划,可以在这里查看sql的执行消耗。

    嗯,谈不上什么技术点,就是记录一下。

    

转载于:https://www.cnblogs.com/sunshine-wy/p/8880438.html

sql 查询优化小计相关推荐

  1. oracle 小计 排序,使用SQL实现小计,合计以及排序

    --说明:个人学习笔记,实现小计合计显示,分组按BANK_ID+OP_DATE升序排序 复制代码 代码如下: --测试数据CREATE TABLE #TB(ID VARCHAR(10),BANK_ID ...

  2. mysql小计_使用SQL实现小计,合计以及排序_MySQL

    bitsCN.com --说明:个人学习笔记,实现小计合计显示,分组按BANK_ID+OP_DATE升序排序 --测试数据CREATE TABLE #TB(ID VARCHAR(10),BANK_ID ...

  3. 用SQL实现统计报表中的“小计”和“合计”

    客户提出需求,针对某一列分组加上小计,合计汇总.网上找了一些有关SQL加合计的语句.都不是很理想.决定自己动手写. 思路有三个: 1.很多用GROUPPING和ROLLUP来实现.   优点实现代码简 ...

  4. Sql Server RowNumber和表变量分页性能优化小计

    直接让代码了,对比看看就了解了 当然,这种情况比较适合提取字段较多的情况,要酌情而定 性能较差的: WITH #temp AS ( Select column1,column2,column3,col ...

  5. mysql小计_Mysql必读用SQL实现统计报表中的小计与合计的方法详解

    <Mysql必读用SQL实现统计报表中的"小计"与"合计"的方法详解>要点: 本文介绍了Mysql必读用SQL实现统计报表中的"小计&qu ...

  6. mysql 合计 小计_用SQL实现统计报表中的小计与合计的方法详解

    本篇文章是对使用SQL实现统计报表中的"小计"与"合计"的方法进行了详细的分析介绍,需要的朋友参考下 客户提出需求,针对某一列分组加上小计,合计汇总.网上找了一 ...

  7. 实战 SQL:销售数据的小计/合计/总计以及数据透视表

    文章目录 小计.合计与总计 多维度交叉统计 自定义统计维度 数据透视表 总结 学习过 SQL 的人都知道,使用聚合函数(AVG.SUM.COUNT.MIN/MAX 等)和分组操作(GROUP BY)可 ...

  8. 使用sql语句实现 报表的小计合计

    这里以oracle自带的emp表作为例子. 通常我们将 grouping, group by rollup放在一起使用. decode(grouping(ename) + grouping(job)  ...

  9. oralce rollup 小计合计_用SQL实现统计报表中的“小计”和“合计”

    在开发统计报表的过程中,经常会碰到在查询到的数据集中,插入一些小计行和合计行.比如在烤烟系统中,几乎每个统计报表都需要加入"合计"行,还有不少涉及到烟叶等级的统计报表需要加入各烟叶 ...

最新文章

  1. vmware让虚拟机内外网络可互访
  2. 面试造飞机系列:用心整理的HashMap面试题,以后都不用担心了
  3. python随机生成车牌_Python实现随机生成任意数量车牌号
  4. 路径规划算法之Bellman-Ford算法
  5. ubuntu16.04将普通用户提升至root权限
  6. ORACLE 分区表 PARTITION table
  7. 32g内存 android开发,16G走开 我要32G内存的安卓手机
  8. windows怎么用gpu跑python程序_在GPU(windows)上运行Theano的命令
  9. AIdl server端监听client是否掉线
  10. VSCODE打开野火电机代码需要增加的配置 c_cpp_properties.json
  11. 《2021国庆出行报告》出炉:全国高速拥堵里程占比同比下降37%
  12. python怎么读取csv文件-Python读取csv文件(详解版,看了无师自通)
  13. 格雷码的生成详解(C++)(附格雷码对照表)
  14. linux git clone 401,Git Eclipse:401未经授权的错误
  15. Junit Eclemma Eclipse
  16. 如何使用css美化你的页面?
  17. iOS Safari扩展开发构建版本时出现的常见问题的解决方法
  18. linux svn cleanup项目,SVN cleanup操作反复失败解决办法
  19. LabVIEW 编程更改波形图Plots是否可见
  20. linux docker容器MySQL自动备份发送到邮箱

热门文章

  1. 给std::string增加format函数
  2. 正则基础之——反向引用
  3. CImage类的用法(转帖)
  4. 动态样式计算 动态样计算 <span :style=“{‘left‘:`${(l+1)*16 - 6}`+‘px‘}“></span>
  5. 前端面试题node.js汇总
  6. Taro+react开发(38)注意请求接口的/
  7. 如何开始了解一个新知识(Vuex)
  8. 工作399-openType=“getUserInfo“ lang=“zh_CN“ bindgetuserinfo=“getUserInfo“
  9. 工作397-Wxml
  10. [css] 使用css3画一个扇形