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语句的优化在时间成本和风险上的代价都很低:可以有不同的写法:易 ...
随机推荐
- day08-Python运维开发基础(文件操作与相关函数、函数基础)
1. 文件操作及相关函数 # ### 文件操作 """ fp = open("文件名称",mode=模式,encoding=编码集) fp 文件io对 ...
- linux 查看ip、用户、时间对应执行的命令
这个需要使用到history命令.可以加数字,返回最近执行的几条命令.如果不加数字会返回所有的历史命令. [root@localhost ~]# history 20 1015 rm stdin.lo ...
- 003.CI4框架CodeIgniter, 控制器Controllers的访问地址
01.我们新建一个System文件夹,然后创建一个Login.php类,代码如下: <?php namespace App\Controllers\System; use App\Control ...
- 011.Delphi插件之QPlugins,延时加载服务
这个DEMO是是把DLL插件的相关信息做成了一个配置文件,主程序加载这个配置文件,从而起到延时加载的作用 主程序代码如下 unit Frm_Main; interface uses Winapi.Wi ...
- ERP开发准备
Delphi 开发 ERP [1] 准备 使用的控件FireDac.DevExpress.FastReport. FireDac:新一代的数据库控件. DevExpress:界面UI. FastRep ...
- java.neo的ByteBuffer与Netty 的ByteBuf
JDK的ByteBuffer的缺点: 1.final byte[] hb;这是JDKde ByteBuffer对象中用于存储数据的对象声明;可以看到,其字节数组是被声明为final的,也就是长度是固定 ...
- Rabbitmq之高级特性——实现消费端限流&NACK重回队列
如果是高并发下,rabbitmq服务器上收到成千上万条消息,那么当打开消费端时,这些消息必定喷涌而来,导致消费端消费不过来甚至挂掉都有可能. 在非自动确认的模式下,可以采用限流模式,rabbitmq ...
- 基于高德开放平台Map Lab的数据可视化
在Map Lab上创建可视化项目,首先需要添加数据.添加数据有4种方式,分别是: 上传CSV文件添加数据 上传Excel文件添加数据 连接在线数据库添加数据 提供在线数据API添加数据 一.数据上传说 ...
- JavaWeb面试题(转)
1.Tomcat的优化经验 答:去掉对web.xml的监视,把JSP提前编辑成Servlet:有富余物理内存的情况下,加大Tomcat使用的 JVM内存. 2.什么是Servlet? 答:可以从两个方 ...
- Mysql自动备份与还原 转
Mysql自动备份与还原 一.自动备份:将以下代码保存为*.bat批处理脚本,然后再添加Windows定时作业,如每天凌晨2点执行:set s=%date:~0,4%%date:~5,2%%date: ...