/*+parallel(t,4)*/在SQL调优中的重要作用!
来源:互联网 发布:广联达软件安装顺序 编辑:程序博客网 时间:2024/06/02 02:59
谈谈HINT /*+parallel(t,4)*/在SQL调优中的重要作用!
/*+parallel(t,4)*/在大表查询等操作中能够起到良好的效果,
基于并行查询要启动并行进程、分配任务与系统资源、合并结果集,这些都是比较消耗资源,
但我们为能够减少执行事务的时间使用parallel HINT还是值得的,尤其在ODS系统中报表统计等方面更有使用意义.
一般而言主要在如下情况使用parallel HINT
1.表的数据量很大,超过一千万;
2.数据库主机是多个CPU;
3.系统的当前负载较低;
简单的测试如下,效果很明显的:
SQL> select /*+parallel(t,4)*/count(*) from t;
COUNT(*)
----------
30245882
已用时间: 00: 01: 32.04
Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=CHOOSE (Cost=5411 Card=1)
1 0 SORT (AGGREGATE)
2 1 SORT* (AGGREGATE) :Q351880
00
3 2 TABLE ACCESS* (FULL) OF 't' (Cost=5411 Car :Q351880
d=2822493) 00
2 PARALLEL_TO_SERIAL SELECT /*+ PIV_SSF */ SYS_OP_MSR(COUNT(*)) F
ROM (SELECT /*+ NO_EXPAND ROWID(A2)
3 PARALLEL_COMBINED_WITH_PARENT
SQL> select count(*) from t;
COUNT(*)
----------
30245882
已用时间: 00: 04: 34.02
Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=CHOOSE
1 0 SORT (AGGREGATE)
2 1 TABLE ACCESS (FULL) OF 't'
SQL>
基于并行查询要启动并行进程、分配任务与系统资源、合并结果集,这些都是比较消耗资源,
但我们为能够减少执行事务的时间使用parallel HINT还是值得的,尤其在ODS系统中报表统计等方面更有使用意义.
一般而言主要在如下情况使用parallel HINT
1.表的数据量很大,超过一千万;
2.数据库主机是多个CPU;
3.系统的当前负载较低;
简单的测试如下,效果很明显的:
SQL> select /*+parallel(t,4)*/count(*) from t;
COUNT(*)
----------
30245882
已用时间: 00: 01: 32.04
Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=CHOOSE (Cost=5411 Card=1)
1 0 SORT (AGGREGATE)
2 1 SORT* (AGGREGATE) :Q351880
00
3 2 TABLE ACCESS* (FULL) OF 't' (Cost=5411 Car :Q351880
d=2822493) 00
2 PARALLEL_TO_SERIAL SELECT /*+ PIV_SSF */ SYS_OP_MSR(COUNT(*)) F
ROM (SELECT /*+ NO_EXPAND ROWID(A2)
3 PARALLEL_COMBINED_WITH_PARENT
SQL> select count(*) from t;
COUNT(*)
----------
30245882
已用时间: 00: 04: 34.02
Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=CHOOSE
1 0 SORT (AGGREGATE)
2 1 TABLE ACCESS (FULL) OF 't'
SQL>
- /*+parallel(t,4)*/在SQL调优中的重要作用!
- /*+parallel(t,4)*/在SQL调优中的重要作用!
- 谈谈HINT /*+parallel(t,4)*/在SQL调优中的重要作用
- 工具在软件过程改进中的重要作用
- 网站策划在网站建设中的重要作用
- 傅立叶变换在图像处理中的重要作用
- 存储过程在数据操作中的重要作用
- 谈谈tempdb在系统中的重要作用
- 紫外线消毒器在饮用水处理中的重要作用
- 【架构】zookeeper在分布式应用中的重要作用
- fprintf在代码调试中的重要作用
- T-SQL命令在查询中的运用
- 关于hash在emule中的重要作用的文章
- 逆矩阵在3D游戏向量中的重要作用
- T-SQL命令在SQL Server查询中的运用
- SQLServer2005 XML在T-SQL查询中的典型应用
- SQLServer2005 XML在T-SQL查询中的典型应用
- SQLServer2005 XML在T-SQL查询中的典型应用
- /Zm(指定预编译头的内存分配限制)
- 转载:中国部分酱香型白酒名录
- QT release 问题
- 这一键,谁将按下......
- 自编未完善五子棋asp版(可聊天,观看,多台同线,无图单文件)
- /*+parallel(t,4)*/在SQL调优中的重要作用!
- 俄语键盘与输入法
- EXP-00091:正在导出有问题的统计信息
- 常用网络命令
- LyX使用小记之三 公式编辑
- Stl 删除元素注意事项
- Java程序员使用Grails的十大优势
- java的ArrayList使用
- 走入Web新时代 我们如何向HTML 5过渡?