在SQL中加入/*+RULE*/ 真的会比较快吗?

[复制链接]
查看11 | 回复8 | 2005-10-30 17:05:33 | 显示全部楼层 |阅读模式
在SQL中加入/*+RULE*/ 真的会比较快吗?
为何要使用/*+RULE*/方式呢? 有其它方式吗?
SELECT /*+RULE*/是这个快
po1_number, reference_no, abo_customer_id
FROM int_rsp_level1
WHERE status = 'N'

SELECT po1_number, reference_no, abo_customer_id
FROM int_rsp_level1 还是这个快
WHERE status = 'N'
DB default 是 rule base, 若我改成 cost base , 就算不加上/*+RULE*/ , 会更快吗?
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
什么东西都要根据实际情况
谁说了rule一定快
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
是说的?
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
使用rule是你引导oracle建立执行计划,如果sql自动建立的执行计划比你引导建立的执行计划高,那么当然只会更慢了。
另外需要说明的是,在对sql内部工作原理不是很清楚,还是不要使用rule,因为oracle一般做的都比你好
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
并不是加了/*+RULE*/一定會快﹐這只是在做SQL優化時﹐首先應該嘗試的一種方法
我是經常遇到這樣的情況﹐加了/*+RULE*/使性能提高几倍几十倍
我開發的系統, 對復雜一點的表關聯﹐都要求我的程序員使用RBO
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
可能这样的会真的快一点 SELECT /* +快*/  ... FROM ...


D
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
不過, 謝謝大家啦.
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
最初由 Fenng 发布
[B]可能这样的会真的快一点 SELECT /* +快*/  ... FROM ...


D [/B]

haha
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
最初由 markwu01 发布
[B]
DB default 是 rule base [/B]

default 为rule?
那你们的dba要么很厉害要么很无知
看你的应用中经过他tune的sql都已经是非常高效了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行