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语句的优化在时间成本和风险上的代价都很低:可以有不同的写法:易 ...
随机推荐
- GoJS组织结构图
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 【蓝桥】第八届C语言C组第7题 Excel地址(进制变形题,stack()简单使用)转载
标题: Excel地址 Excel单元格的地址表示很有趣,它使用字母来表示列号. 比如, A表示第1列, B表示第2列, Z表示第26列, AA表示第27列, AB表示第28列, BA表示第53列, ...
- C++远征--jame_yuan(慕课网)
int &a=b;引用符 int const a = 3; int *p = &a; 只读 不能 赋给 读写 有默认参数值得参数必须在参数表的最右端 void fun(int ...
- spring boot 接口service有多个实现类
接口.java public interface DeService { } 接口实现类1.java @Service("ud")public class DeServiceImp ...
- C#常用类库简介(二)
原文出处:http://blog.csdn.net/weiwenhp/article/details/8140503 C#常用类库简介(一)的地址 System与mscorlib这两个dll中的类库是 ...
- mqtt已断开连接(32109)
在rabbitmq下使用mqtt协议时,如果服务质量(qos)设置为2,在发布服务时会出现[已断开连接 (32109) - java.io.EOFException]的报错. 出现该报错的其他情况还有 ...
- 中兴获25个5G商用合同
网易科技讯,6 月 25 日消息,在 2019 年 MWC 上海展期间,中兴通讯宣布随着全球首批 5G 规模商用部署展开,已在全球获得 25 个 5G 商用合同,覆盖中国.欧洲.亚太.中东等主要 5G ...
- POJ1014:Dividing
Dividing Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 63013 Accepted: 16315 Descri ...
- 自己手动实现简单的双向数据绑定 mvvm
数据绑定 数据绑定一般就是指的 将数据 展示到 视图上.目前前端的框架都是使用的mvvm模式实现双绑的.大体上有以下几种方式: 发布订阅 ng的脏检查 数据劫持 vue的话采用的是数据劫持和发布订阅相 ...
- 125-PHP类__set()魔术方法
<?php class ren{ //定义一个人类 //定义成员属性 private $name='tom'; private $age=15; //定义__set()魔术方法 public f ...