谈谈HINT /*+parallel(t,4)*/在SQL调优中的重要作用!

/*+parallel(t,4)*/在大表查询等操作中能够起到良好的效果,
基于并行查询要启动并行进程、分配任务与系统资源、合并结果集,这些都是比较消耗资源,
但我们为能够减少执行事务的时间使用parallel HINT还是值得的,尤其在ODS系统中报表统计等方面更有使用意义.
一般而言主要在如下情况使用parallel HINT
1.表的数据量很大,超过一千万; 
2.数据库主机是多个CPU;
3.系统的当前负载较低;
简单的测试如下,效果很明显的:
  1. SQL> select /*+parallel(t,4)*/count(*) from   t;
  2. COUNT(*)
  3. ----------
  4. 30245882
  5. 已用时间:  00: 01: 32.04
  6. Execution Plan
  7. ----------------------------------------------------------
  8. 0      SELECT STATEMENT Optimizer=CHOOSE (Cost=5411 Card=1)
  9. 1    0   SORT (AGGREGATE)
  10. 2    1     SORT* (AGGREGATE)                                        :Q351880
  11. 00
  12. 3    2       TABLE ACCESS* (FULL) OF 't' (Cost=5411 Car :Q351880
  13. d=2822493)                                                   00
  14. 2 PARALLEL_TO_SERIAL            SELECT /*+ PIV_SSF */ SYS_OP_MSR(COUNT(*)) F
  15. ROM (SELECT /*+ NO_EXPAND ROWID(A2)
  16. 3 PARALLEL_COMBINED_WITH_PARENT
  17. SQL> select count(*) from t;
  18. COUNT(*)
  19. ----------
  20. 30245882
  21. 已用时间:  00: 04: 34.02
  22. Execution Plan
  23. ----------------------------------------------------------
  24. 0      SELECT STATEMENT Optimizer=CHOOSE
  25. 1    0   SORT (AGGREGATE)
  26. 2    1     TABLE ACCESS (FULL) OF 't'
  27. SQL>
 
http://blog.csdn.net/u012354280/article/details/16369149
 
http://blog.csdn.net/fycghy0803/article/details/8082172

/*+parallel(t,4)*/在SQL调优中的重要作用!的更多相关文章

  1. 谈谈HINT /*+parallel(t,4)*/在SQL调优中的重要作用

    /*+parallel(t,4)*/在大表查询等操作中能够起到良好的效果,基于并行查询要启动并行进程.分配任务与系统资源.合并结果集,这些都是比较消耗资源,但我们为能够减少执行事务的时间使用paral ...

  2. Oracle中SQL调优(SQL TUNING)之最权威获取SQL执行计划大全

    该文档为根据相关资料整理.总结而成,主要讲解Oracle数据库中,获取SQL语句执行计划的最权威.最正确的方法.步骤,此外,还详细说明了每种方法中可选项的意义及使用方法,以方便大家和自己日常工作中查阅 ...

  3. SQL调优常用方法

    在使用DBMS时经常对系统的性能有非常高的要求:不能占用过多的系统内存和 CPU资源.要尽可能快的完成的数据库操作.要有尽可能高的系统吞吐量.如果系统开发出来不能满足要求的所有性能指标,则必须对系统进 ...

  4. SQL调优

    # 问题的提出 在应用系统开发初期,由于开发数据库数据比较少,对于查询SQL语句,复杂视图的的编写等体会不出SQL语句各种写法的性能优劣,但是如果将应用 系统提交实际应用后,随着数据库中数据的增加,系 ...

  5. 读《程序员的SQL金典》[4]--SQL调优

    一.SQL注入 如果程序中采用sql拼接的方式书写代码,那么很可能存在SQL注入漏洞.避免的方式有两种: 1. 对于用户输入过滤敏感字母: 2. 参数化SQL(推荐). 二.索引 ①索引分类 聚簇索引 ...

  6. [SQL SERVER系列]读书笔记之SQL注入漏洞和SQL调优

    最近读了程序员的SQL金典这本书,觉得里面的SQL注入漏洞和SQL调优总结得不错,下面简单讨论下SQL注入漏洞和SQL调优. 1. SQL注入漏洞 由于“'1'='1'”这个表达式永远返回 true, ...

  7. SQL调优日志--内存问题

    SQL调优日志--内存问题排查入门篇   概述 很多系统的性能问题,是由内存导致的.内存不够会导致页面频繁换入换出,IO队列高,进而影响数据库整体性能. 排查 内存对数据库性能非常重要.那么我当出现问 ...

  8. 读书笔记之SQL注入漏洞和SQL调优

    原文:读书笔记之SQL注入漏洞和SQL调优 最近读了程序员的SQL金典这本书,觉得里面的SQL注入漏洞和SQL调优总结得不错,下面简单讨论下SQL注入漏洞和SQL调优. 1. SQL注入漏洞 由于“' ...

  9. Oracle SQL 调优健康检查脚本

    Oracle SQL 调优健康检查脚本 我们关注数据库系统的性能,进行数据库调优的主要工作就是进行SQL的优化.良好的数据架构设计.配合应用系统中间件和写一手漂亮的SQL,是未来系统上线后不出现致命性 ...

随机推荐

  1. [Java] Protect, Private and Public的区别

    Java中的private.protected.public和default的区别 (2014-03-21 22:29:14) 转载▼ 标签: java java修饰符 it   (1)对于publi ...

  2. li自定义图标

    /*自定义list的图标*/ li{ list-style-image: url(../img/21.JPG); }

  3. Android Studio 开发安卓软件时下载的工程项目 Sync with gradle 失败

    Sync with gradle 失败的原因有很多,其中很多时候会遇到下载下来的工程同步失败,目前的经验来看下载的工程同步失败均是由于下图中的两个配置其中某个缺少了 google() 或者 jcent ...

  4. HDU-3746 Cyclic Nacklace 字符串匹配 KMP算法 求最小循环节

    题目链接:https://cn.vjudge.net/problem/HDU-3746 题意 给一串珠子,我们可以在珠子的最右端或最左端加一些珠子 问做一条包含循环珠子的项链,最少还需要多少珠子 思路 ...

  5. 51nod 1321 收集点心(最小割)

    给出一种最小割的方法. 设\(num1[i]\),\(num2[i]\)为第i种形状的点心的两种口味的数量 设\(type[i]\),\(type[i]\)为第i种形状的点心的两种口味 假设\(num ...

  6. session 超时跳转登陆页面

    /** * session超时跳转登陆页面 * @author zhangdong * 2017年10月24日 */ @Aspect @Component public class SessionTi ...

  7. Linux初学习

    Linux Linux运行与关闭 Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 UNIX 的多用户.多任务.支持多线程和多 CPU 的操作系统. Linux ...

  8. nj07---npm

    一.如何使用包管理器 Node.js包管理器,即npm是Node.js官方提供的包管理工具,它已经成了Node.js包的标准发布平台,用于Node.js包的发布.传播.依赖控制.(可以下载上面的包也可 ...

  9. Android jni 二维数组 传递

    学习Android Jni时,一个二维 整数 数组的传递花了我好长时间,在网上查的资料都不全,当然最后是成功了,写在这里是为了自己记住,当然有人搜索到并利用了我会很高兴.   in Android J ...

  10. thinkphp5的Illegal string offset 'id'错误

    thinkphp5的Illegal string offset 'id'错误 问题 解答 数组同名了,一个html页面传进来两个cateres的数组,所以在找id的时候不知道找这两个里面的哪一个 第一 ...