原始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秒的更多相关文章

  1. 压缩20M文件从30秒到1秒的优化过程

    文章来源公众号:IT牧场 有一个需求需要将前端传过来的10张照片,然后后端进行处理以后压缩成一个压缩包通过网络流传输出去.之前没有接触过用Java压缩文件的,所以就直接上网找了一个例子改了一下用了,改 ...

  2. SQL优化笔记—CPU优化

    补充:常规服务器动态管理对象包括,下面有些资料可能会应用到 dm_db_*:数据库和数据库对象dm_exec_*:执行用户代码和关联的连接dm_os_*:内存.锁定和时间安排dm_tran_*:事务和 ...

  3. 转://从一条巨慢SQL看基于Oracle的SQL优化

    http://mp.weixin.qq.com/s/DkIPwbDKIjH2FMN13GkT4w 本次分享的内容是基于Oracle的SQL优化,以一条巨慢的SQL为例,从快速解读SQL执行计划.如何从 ...

  4. SQL优化思路大全

    一.百万级数据库优化方案 1.对查询进行优化,要尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断 ...

  5. 从一条巨慢SQL看基于Oracle的SQL优化(重磅彩蛋+PPT)

    本文根据DBAplus社群第110期线上分享整理而成,文末还有好书送哦~ 讲师介绍 丁俊 新炬网络首席性能优化专家 SQL审核产品经理 DBAplus社群联合发起人.<剑破冰山-Oracle开发 ...

  6. 数据库SQL优化大总结之 百万级数据库优化方案(转载)

    网上关于SQL优化的教程很多,但是比较杂乱.近日有空整理了一下,写出来跟大家分享一下,其中有错误和不足的地方,还请大家纠正补充. 这篇文章我花费了大量的时间查找资料.修改.排版,希望大家阅读之后,感觉 ...

  7. 关于数据库SQL优化

    1.数据库访问优化   要正确的优化SQL,我们需要快速定位能性的瓶颈点,也就是说快速找到我们SQL主要的开销在哪里?而大多数情况性能最慢的设备会是瓶颈点,如下载时网络速度可能会是瓶颈点,本地复制文件 ...

  8. oracle sql 优化大全

    转自: http://panshaobinsb.iteye.com/blog/1718233 http://yulimeander.blog.sohu.com/115850824.html 最近遇到了 ...

  9. SQL优化的若干原则

    SQL语句:是对数据库(数据)进行操作的惟一途径:消耗了70%~90%的数据库资源:独立于程序设计逻辑,相对于对程序源代码的优化,对SQL语句的优化在时间成本和风险上的代价都很低:可以有不同的写法:易 ...

随机推荐

  1. 链表题目汇总(python3)

    1.从头到尾打印链表 输入一个链表,按链表值从尾到头的顺序返回一个ArrayList. # -*- coding:utf-8 -*- class ListNode: def __init__(self ...

  2. Microsoft Windows 实用程序 Sysinternals Utilities Index

    最新页面时间:2017年5月16日 Sysinternals被MS收购--windows internals共近70多个工具集 Sysinternals套件 整套Sysinternals Utilit ...

  3. 吴裕雄 Bootstrap 前端框架开发——Bootstrap 字体图标(Glyphicons):glyphicon glyphicon-file

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name ...

  4. 吴裕雄 Bootstrap 前端框架开发——Bootstrap 字体图标(Glyphicons):glyphicon glyphicon-signal

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name ...

  5. 19 02 21 selenium get_attribute的几种用法

    获取元素标签的内容: get_attribute(‘textContent’) 获取元素内的全部HTML: get_attribute('innerHTML') 获取包含选中元素的HTML: get_ ...

  6. 文本编辑器vim/vi——模式切换及输入模式

    vim一共有三种模式:命令模式.输入模式.末行模式 要从命令模式切换到输入模式:a,i,o a——append 属于在后面追加内容:i——insert 属于插入,在前面插入内容:o——other 属于 ...

  7. EBP寻址

    一.EBP寻址 ESP:栈顶指针 (程序对与堆栈的使用 使用到哪里,esp就是哪里) EBP:  栈底指针 之前都是借用ESP去寻址确定一些参数 ,但如果存到堆栈里面的值过多,那么就得不断地调整ESP ...

  8. mybatis xml <if>判断字符串相等

    mybatis 映射文件中,if标签判断字符串相等,两种方式: 因为mybatis映射文件,是使用的ognl表达式,所以在判断字符串sex变量是否是字符串Y的时候, <if test=" ...

  9. 实验吧-密码学-try them all(加salt的密码)、robomunication(摩斯电码)、The Flash-14(闪电侠14集)

    try them all(加salt的密码) 首先,要了解什么事加salt的密码. 加salt是一种密码安全保护措施,就是你输入密码,系统随机生成一个salt值,然后对密码+salt进行哈希散列得到加 ...

  10. SciKit-Learn 数据集基本信息

    ## 保留版权所有,转帖注明出处 章节 SciKit-Learn 加载数据集 SciKit-Learn 数据集基本信息 SciKit-Learn 使用matplotlib可视化数据 SciKit-Le ...