SQL语句:
select t.type, count(t.id) as todo_count from mc_job_form t where t.state = '2' and t.customs_code = :a group by t.type

表结构:
ID VARCHAR2(24) N   id
IN_OUT_FLAG CHAR(1) Y   
PROVIDER_ID NUMBER Y   
APPLY_FORM_ID VARCHAR2(24) Y   
DECLARE_APPLY_ID VARCHAR2(24) Y   
PROPOSER_ID VARCHAR2(20) Y   
MANUAL_ID CHAR(12) Y   
TRADE_TYPE VARCHAR2(3) Y   
COMPANY_CODE CHAR(10) Y   
COMPANY_NAME NVARCHAR2(50) Y   
PROVIDER_NAME NVARCHAR2(50) Y   
GROSS_WEIGHT NUMBER(19,5) Y   
NET_WEIGHT NUMBER(19,5) Y  
AMOUNT NUMBER(19,5) Y   
WRAP_TYPE VARCHAR2(32) Y   
TRUNK_NO NVARCHAR2(255) Y   
CREATE_TIME DATE Y   
DECLARE_TIME DATE Y   
IN_TIME DATE Y   
CUSTOMS_CODE CHAR(4) Y   
PORT CHAR(4) Y   
REMARK NVARCHAR2(255) Y   
STATE CHAR(1) Y   
COMMENTS NVARCHAR2(200) Y  
TYPE VARCHAR2(2) Y   
PROPOSER NVARCHAR2(20) Y   
OUT_TIME DATE Y   
PROPOSER_PHONE VARCHAR2(20) Y   
CONTRACT_NO VARCHAR2(32) Y   
TALLY_COMMENTS NVARCHAR2(200) Y   
TALLY_TIME DATE Y   
TALLY_APPROVE_COMMENTS NVARCHAR2(200) Y   
ASSO_JOB_FORM_ID VARCHAR2(24) Y   
DATA_ORIGIN CHAR(1) Y   
GUARANTY_AMOUNT NUMBER(19,5) Y   
ASSO_FLAG CHAR(1) Y   
AREA_TYPE CHAR(1) Y

优化前执行计划:
SELECT STATEMENT, GOAL = ALL_ROWS   Cost=6 Cardinality=7 Bytes=63
 HASH GROUP BY   Cost=6 Cardinality=7 Bytes=63
  TABLE ACCESS FULL Object owner=INMAN Object name=MC_JOB_FORM Cost=5 Cardinality=23 Bytes=207

无效的优化:(原因是索引未加入GROUPBY列)
-- Create/Recreate indexes
create index TESTGG on MC_JOB_FORM (STATE, CUSTOMS_CODE)
  tablespace IN_MAN_DATA
  pctfree 10
  initrans 2
  maxtrans 255
  storage
  (
    initial 64K
    minextents 1
    maxextents unlimited
  );

有效的优化:
-- Create/Recreate indexes
create index TESTGG on MC_JOB_FORM (STATE, CUSTOMS_CODE, TYPE)
  tablespace IN_MAN_DATA
  pctfree 10
  initrans 2
  maxtrans 255
  storage
  (
    initial 64K
    minextents 1
    maxextents unlimited
  );

优化后执行计划:
SELECT STATEMENT, GOAL = ALL_ROWS   Cost=1 Cardinality=7 Bytes=63
 SORT GROUP BY NOSORT   Cost=1 Cardinality=7 Bytes=63
  INDEX RANGE SCAN Object owner=INMAN Object name=TESTGG Cost=1 Cardinality=23 Bytes=207

总结:
要确保group by 的列全部在索引中,并且列的属性不能为空,优化潜力很大的,我测了小数据量的

转载于:https://blog.51cto.com/yunlongzheng/410425

SQL优化一例:GROUP BY的语句相关推荐

  1. MySQL派生表(derived)优化一例

    1.什么是派生表derived 关键字:子查询-->在From后where前的子查询 例子: mysql> explain select * from (select * from t) ...

  2. SQL优化篇:如何成为一位写优质SQL语句的绝顶高手

    (Structured Query Language)标准结构化查询语言简称SQL,编写SQL语句是每位后端开发日常职责中,接触最多的一项工作,SQL是关系型数据库诞生的产物,无论是什么数据库,MyS ...

  3. SQL优化篇:如何成为一位写优质SQL语句的绝顶高手!

    写SQL语句不难,稍微系统学习过数据库相关技术的人都能做到,但想要写好SQL却也不是一件易事,在大多数编写SQL的时候,很多人都是以实现需求为原则去撰写的,当一条SQL写出来之后,只要能满足业务需求就 ...

  4. mysql高效sql语句_高效SQL优化 非常好用的SQL语句优化34条

    高效SQL优化 非常好用的SQL语句优化34条 相关软件相关文章发表评论 来源:2011/2/13 9:38:43字体大小: 作者:佚名点击:576次评论:0次标签: 类型:电子教程大小:8.5M语言 ...

  5. mysql sql优化_MySQL优化SQL语句的步骤

    我们在执行一条SQL语句的时候,如果我们想要知道这条SQL语句查询了哪些表,有没有使用索引,获取数据的时候遍历了多少行数据,我们可以通过EXPLAIN命令来查看这些执行信息,这些执行信息统称为执行计划 ...

  6. oracle sql语句加速选项,Oracle SQL优化基本步骤

    本空间日志均为一种学习记录. ----------------该文章无法找到原创出自何处.若有侵范,请告知! 最近有尝试做SQL优化.一直不得要领,请逛到这里的高人提供一些优化实例(最好是有优化历程说 ...

  7. ORACLE-019:ORACLE常用SQL优化hint语句

    在SQL语句优化过程中,我们经常会用到hint,现总结一下在SQL优化过程中常见Oracle HINT的用法: 1. /*+ALL_ROWS*/ 表明对语句块选择基于开销的优化方法,并获得最佳吞吐量, ...

  8. SQL优化之SQL查询语句的执行顺序解析

    SQL语句执行顺序 SQL语句执行顺序 结合上图,整理出如下伪SQL查询语句. SQL语句执行顺序 从这个顺序中我们可以发现,所有的查询语句都是从 FROM 开始执行的.在实际执行过程中,每个步骤都会 ...

  9. ORACLE常用SQL优化hint语句

    在SQL语句优化过程中,我们经常会用到hint,现总结一下在SQL优化过程中常见Oracle HINT的用法: 1. /*+ALL_ROWS*/ 表明对语句块选择基于开销的优化方法,并获得最佳吞吐量, ...

最新文章

  1. 面向对象设计原则_聊聊面向对象的6大设计原则
  2. Linux优化不知如何下手?那你的看看这篇文章了
  3. linux shell用户交互,鱼 - 一个明智的和用户友好的交互式shell为Linux
  4. kaptcha小案例(转)
  5. ROS笔记(28) Setup Assistant
  6. 很多绿化软件运行都会提示缺少msvcp71.dll、msvcr100.dll、msvcr71.dll等msvc**.dll文件错误解决方法
  7. python使用自制程序_python--自制程序性能检测工具
  8. 进程调度优先数 c语言,进程调度--动态优先数法(C语言实现)
  9. DolphinPHP(海豚PHP)实战教程
  10. 基于java的电子政务网的设计及开发
  11. MMORPG大型游戏设计与开发(构架)
  12. Opencv 傅立叶变换 傅立叶逆变换
  13. 基于51单片机霍尔自行车码表测速系统电路设计(毕业设计资料)
  14. STM32---定时器的ETR功能
  15. tenacity -- Python中一个专门用来retry的库
  16. vs运行localhos转换为本地ip地址访问
  17. c语言作文的题目_C语言入门题
  18. vue进入页面执行的钩子函数_vue中各选项及钩子函数执行顺序详解
  19. BDB (Berkeley DB)数据库简介(转载)
  20. 短视频SDK超级简单易用

热门文章

  1. 星际通讯+基于区块链的价值共享互联网即时通讯应用平台
  2. 我们的小窝-情侣空间秀恩爱php源码
  3. 九宫格抽奖V1.3.26正版
  4. 喜报!DT最新通用管理平台开源了
  5. 淘宝API开发系列--开篇概述
  6. jQuery: 判断指针是否在某元素内 How do I check if the mouse is over an element
  7. Magento: 获取产品评论 get all reviews with review summary
  8. SQL取分组中前、后几条数据
  9. Linux——umask使用详解
  10. 【直通顶会 ICCV2021比赛大揭秘】ICCV2021比赛信息汇总