超级小菜问题。谢谢帮忙 同志们好,表的比较有hash,loop,merge三中,在oracle表查询时如何使用这三种比较呢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 一般来说,系统会自动选择哪种方式的,现在用的ORACLE基本上都是用CBO你也可以用HINT来指定22. /*+USE_NL(TABLE)*/ 将指定表与嵌套的连接的行源进行连接,并把指定表作为内部表. 例如: SELECT /*+ORDERED USE_NL(BSEMPMS)*/ BSDPTMS.DPT_NO,BSEMPMS.EMP_NO,BSEMPMS.EMP_NAM FROM BSEMPMS,BSDPTMS WHERE BSEMPMS.DPT_NO=BSDPTMS.DPT_NO; 23. /*+USE_MERGE(TABLE)*/ 将指定的表与其他行源通过合并排序连接方式连接起来. 例如: SELECT /*+USE_MERGE(BSEMPMS,BSDPTMS)*/ * FROM BSEMPMS,BSDPTMS WHERE BSEMPMS.DPT_NO=BSDPTMS.DPT_NO; 24. /*+USE_HASH(TABLE)*/ 将指定的表与其他行源通过哈希连接方式连接起来. 例如: SELECT /*+USE_HASH(BSEMPMS,BSDPTMS)*/ * FROM BSEMPMS,BSDPTMS WHERE BSEMPMS.DPT_NO=BSDPTMS.DPT_NO; use_merge(tableName ...) --将提示的表以排序合并连接的方式连接到结果集。即先在每个表中查询所有符合条件的记录并排序,然后合并各个表,适用于大吞吐量。尤其适合大表存在cola>常数的情况。use_nl(tableName ...) --嵌套循环连接方式,适用快速返回第一行和返回很小的结果集。首先根据其它表上的结果查找这个表上的第一个匹配的行use_hash(tableName...) --类似于use_nl方式,但区别是,use_hash会把被遍历(指定)的表放在内存中,所以需要有足够内存,且hash_area_size或者pga_aggregate_target要设置的足够大,否则将导致操作在磁盘上进行,影响性能。可以为较大的结果集提供最佳响应时间。因为它找到匹配行后就返回,不会象use_merge那样等到找到所有行才返回。有时优化器会改写use_hash提示为use_nl Oracle触发器 帮忙弄个查询语句,有点困难 主从表这种查询是否能实现? 有谁用过sagent? 大家来看象这样怎么实现? 散 50分 解决最后一个rman恢复的问题! 请用形象的说法介绍一下数据库实例,数据库名,sid,方案,表空间这些概念,好像和sqlserver不一样! ora-03114怎么解决 请问有没有方法把一个记录集中的某一列直接连接成一个串输出??? 大侠,救命啊,sqlldr问题 分不够,可以再加 ORACLE数据导出时间的问题 高级复制配置完成后在主站点启动复制时报错,高手支援下 ~~
你也可以用HINT来指定
22. /*+USE_NL(TABLE)*/
将指定表与嵌套的连接的行源进行连接,并把指定表作为内部表.
例如:
SELECT /*+ORDERED USE_NL(BSEMPMS)*/ BSDPTMS.DPT_NO,BSEMPMS.EMP_NO,BSEMPMS.EMP_NAM FROM BSEMPMS,BSDPTMS WHERE BSEMPMS.DPT_NO=BSDPTMS.DPT_NO;
23. /*+USE_MERGE(TABLE)*/
将指定的表与其他行源通过合并排序连接方式连接起来.
例如:
SELECT /*+USE_MERGE(BSEMPMS,BSDPTMS)*/ * FROM BSEMPMS,BSDPTMS WHERE BSEMPMS.DPT_NO=BSDPTMS.DPT_NO;
24. /*+USE_HASH(TABLE)*/
将指定的表与其他行源通过哈希连接方式连接起来.
例如:
SELECT /*+USE_HASH(BSEMPMS,BSDPTMS)*/ * FROM BSEMPMS,BSDPTMS WHERE BSEMPMS.DPT_NO=BSDPTMS.DPT_NO;
use_nl(tableName ...) --嵌套循环连接方式,适用快速返回第一行和返回很小的结果集。首先根据其它表上的结果查找这个表上的第一个匹配的行
use_hash(tableName...) --类似于use_nl方式,但区别是,use_hash会把被遍历(指定)的表放在内存中,所以需要有足够内存,且hash_area_size或者pga_aggregate_target要设置的足够大,否则将导致操作在磁盘上进行,影响性能。可以为较大的结果集提供最佳响应时间。因为它找到匹配行后就返回,不会象use_merge那样等到找到所有行才返回。有时优化器会改写use_hash提示为use_nl