sql优化从300秒到7秒
原始sql
select b.jd 街道,b.rglm
楼宇,zzrl 楼宇编号,count(oname) 入楼企业总数,
(select count(oname) from
${tablename} where
zzrl=楼宇编号 and
sfgs='y' ) 工商企业数,
(select count(oname) from ${tablename}
where zzrl=楼宇编号
and
sfsw='y') 税务企业数,
(select count(oname) from
${tablename}
where zzrl=楼宇编号 and
sfsjp='y') 四经普企业数,
(select count(oname) from
${tablename} where zzrl=楼宇编号
and
sfxs='y') 规上企业数,
round(sum(sjss)/10000,2)
三级税收(万元),
round(sum(qjss)/10000,2) 区级税收(万元),
round(b.jzwmj,2) 建筑面积,
round(sum(qjss)/b.jzwmj,2)
单位建筑面积税收产出,
(select gshy from ${tablename} where zzrl=楼宇编号 GROUP BY
gshy order
by round(sum(qjss)/10000,2) desc limit 0,1) 主导行业,
(select
count(oname) from ${tablename} where zzrl=楼宇编号 and
gshy=主导行业 and gshy!='' and gshy is not null) 主导行业企业数量,
(select round(sum(sjss)/10000,2) from
${tablename} where
zzrl=楼宇编号 and
gshy=主导行业 and gshy!='' and gshy is not null) 主导行业三级税收(万元),
(select round(sum(qjss)/10000,2) from ${tablename}
where
zzrl=楼宇编号 and gshy=主导行业 and gshy!='' and gshy is not null) 主导行业区级税收(万元),
(select oname from
${tablename}
where zzrl=楼宇编号 order by
sjss+0 desc
limit 0,1) 三级税收排名第一企业名称,
(select round(sjss/10000,2)
from
${tablename} where oname=三级税收排名第一企业名称)
企业三级税收(万元),
(select
round(qjss/10000,2) from
${tablename} where oname=三级税收排名第一企业名称)
企业区级税收(万元)
from ${tablename} a,b_louyu_base_1183new b where a.zzrl=b.hb_bj_zz and
zzrl!='' and zzrl
is not null
group by zzrl;
优化后sql
select c.街道,c.楼宇, c.入楼企业总数, c.工商企业数, c.税务企业数, c.四经普企业数, c.规上企业数, c.三级税收(万元), c.区级税收(万元),
c.建筑面积, c.单位建筑面积税收产出,c.主导行业,( SELECT count( oname ) FROM hb_end_201906051646052_merge_rel WHERE zzrl =楼宇编号 AND gshy =主导行业 AND gshy != '' ) 主导行业企业数量,
(
SELECT
round( sum( sjss ) / 10000, 2 )
FROM
hb_end_201906051646052_merge_rel
WHERE
zzrl =楼宇编号
AND gshy =主导行业
AND gshy != ''
) 主导行业三级税收(万元),
(
SELECT
round( sum( qjss ) / 10000, 2 )
FROM
hb_end_201906051646052_merge_rel
WHERE
zzrl =楼宇编号
AND gshy =主导行业
AND gshy != ''
AND gshy IS NOT NULL
) 主导行业区级税收(万元),
c.三级税收排名第一企业名称,
(
SELECT
round( sjss / 10000, 2 )
FROM
hb_end_201906051646052_merge_rel
WHERE
oname =三级税收排名第一企业名称) 企业三级税收(万元),
(
SELECT
round( qjss / 10000, 2 )
FROM
hb_end_201906051646052_merge_rel
WHERE
oname =三级税收排名第一企业名称) 企业区级税收(万元) from
(SELECT
b.jd 街道,
b.rglm 楼宇,
zzrl 楼宇编号,
count( oname ) 入楼企业总数,
( CASE WHEN sfgs = 'y' THEN count( oname ) END ) 工商企业数,
( CASE WHEN sfsw = 'y' THEN count( oname ) END ) 税务企业数,
( CASE WHEN sfsjp = 'y' THEN count( oname ) END ) 四经普企业数,
( CASE WHEN sfxs = 'y' THEN count( oname ) END ) 规上企业数,
round( sum( sjss ) / 10000, 2 ) 三级税收(万元),
round( sum( qjss ) / 10000, 2 ) 区级税收(万元),
round(b.jzwmj,2) 建筑面积,
round(sum( qjss ) / b.jzwmj,2) 单位建筑面积税收产出,
( SELECT gshy FROM hb_end_201906051646052_merge_rel WHERE zzrl =楼宇编号 GROUP BY gshy ORDER BY sum( qjss ) DESC LIMIT 0, 1 ) 主导行业,( SELECT oname FROM hb_end_201906051646052_merge_rel WHERE zzrl =楼宇编号 ORDER BY sjss + 0 DESC LIMIT 0, 1 ) 三级税收排名第一企业名称 FROM
hb_end_201906051646052_merge_rel a
LEFT JOIN b_louyu_base_1183new b ON a.zzrl = b.hb_bj_zz
WHERE
a.zzrl != ''
GROUP BY
a.zzrl) c;
sql优化从300秒到7秒的更多相关文章
- 压缩20M文件从30秒到1秒的优化过程
文章来源公众号:IT牧场 有一个需求需要将前端传过来的10张照片,然后后端进行处理以后压缩成一个压缩包通过网络流传输出去.之前没有接触过用Java压缩文件的,所以就直接上网找了一个例子改了一下用了,改 ...
- SQL优化笔记—CPU优化
补充:常规服务器动态管理对象包括,下面有些资料可能会应用到 dm_db_*:数据库和数据库对象dm_exec_*:执行用户代码和关联的连接dm_os_*:内存.锁定和时间安排dm_tran_*:事务和 ...
- 转://从一条巨慢SQL看基于Oracle的SQL优化
http://mp.weixin.qq.com/s/DkIPwbDKIjH2FMN13GkT4w 本次分享的内容是基于Oracle的SQL优化,以一条巨慢的SQL为例,从快速解读SQL执行计划.如何从 ...
- SQL优化思路大全
一.百万级数据库优化方案 1.对查询进行优化,要尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断 ...
- 从一条巨慢SQL看基于Oracle的SQL优化(重磅彩蛋+PPT)
本文根据DBAplus社群第110期线上分享整理而成,文末还有好书送哦~ 讲师介绍 丁俊 新炬网络首席性能优化专家 SQL审核产品经理 DBAplus社群联合发起人.<剑破冰山-Oracle开发 ...
- 数据库SQL优化大总结之 百万级数据库优化方案(转载)
网上关于SQL优化的教程很多,但是比较杂乱.近日有空整理了一下,写出来跟大家分享一下,其中有错误和不足的地方,还请大家纠正补充. 这篇文章我花费了大量的时间查找资料.修改.排版,希望大家阅读之后,感觉 ...
- 关于数据库SQL优化
1.数据库访问优化 要正确的优化SQL,我们需要快速定位能性的瓶颈点,也就是说快速找到我们SQL主要的开销在哪里?而大多数情况性能最慢的设备会是瓶颈点,如下载时网络速度可能会是瓶颈点,本地复制文件 ...
- oracle sql 优化大全
转自: http://panshaobinsb.iteye.com/blog/1718233 http://yulimeander.blog.sohu.com/115850824.html 最近遇到了 ...
- SQL优化的若干原则
SQL语句:是对数据库(数据)进行操作的惟一途径:消耗了70%~90%的数据库资源:独立于程序设计逻辑,相对于对程序源代码的优化,对SQL语句的优化在时间成本和风险上的代价都很低:可以有不同的写法:易 ...
随机推荐
- db.mybatis.config
config1: <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryB ...
- java理解抽象类 2.19
// Telphone.java public abstract class Telphone{ public abstract void call(); public abstract void m ...
- Day7 - H - 青蛙的约会 POJ - 1061
两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面.它们很高兴地发现它们住在同一条纬度线上,于是它们约定各自朝西跳,直到碰面为止.可是它们出发之前忘记了一件很重要的事情,既没有问清楚对方的特 ...
- Apache http 包中的常量
org.apache.* org.apache.http.Consts public static final int CR 13 public static final int HT 9 publi ...
- win10热键体验
Alt+Tab: 横向显示正在执行的进程 Win+Tab: 3D形式展示正在执行的进程 Win+D:返回桌面(逃领导查电脑和放窥屏尴尬) Win+R: run(直接打开文件开始运行) crtl+Alt ...
- NOR Flash驱动
驱动程序 1 ] ] );81 ;83 }84 85 86 static void __exit nor_exit(void)87 {88 iounmap(nor_ ...
- HDU - 6201 transaction transaction transaction(spfa求最长路)
题意:有n个点,n-1条边的无向图,已知每个点书的售价,以及在边上行走的路费,问任选两个点作为起点和终点,能获得的最大利益是多少. 分析: 1.从某个结点出发,首先需要在该结点a花费price[a]买 ...
- 通过fiddler修改通讯返回值
1 在fiddler里选中url,右键unlock for editing 2 在fiddler里点击url, 在右面的返回值的 TextView 项里修改数据 3 取消 unlock for e ...
- 前端解析返回的对象时json显示$ref问题的解决
在mapper中写的语句,结果集中association,采用的一个对象,整个list列表中每个元素有一个对象元素,如果第二个元素中有一个与第一个元素中对象同名的,就会去引用上一个元素的地址,在jso ...
- 微服务中springboot启动问题
log4j:WARN No appenders could be found for logger (org.springframework.web.context.support.StandardS ...