为什么我们在sql上使用/* */
?
例如:
select /*+ index(sssi_iq SITE_STAT_TSTAMP_IDX) */
有人可以解释一下吗?
答案 0 :(得分:5)
--
是一行评论,例如 -
select *
from t -- this is a line comment
order by i
/* */
是一个多行评论,例如 -
select *
from t /* this is
a multi-line line
comment */
order by /* and so is this */ i
添加+
(/*+ */
或--+
)时,它表示优化程序提示,这是优化程序向优化程序发出的指令可能会也可能不会尊重
如果你的提示被忽略,你在oracle中没有任何迹象(错误/交战)。
示例:
create table t1 (i int);
create table t2 (i int);
select /*+ use_nl (t1,t2) */ * from t1 join t2 on t1.i = t2.i;
select /*+ use_merge (t1,t2) */ * from t1 join t2 on t1.i = t2.i;
select /*+ use_hash (t1,t2) */ * from t1 join t2 on t1.i = t2.i;
select /*+ use_hash (t1,t2) */ * from t1 join t2 on t1.i != t2.i;
select /*+ use_merge (t1,t2) */ * from t1 join t2 on t1.i != t2.i;
答案 1 :(得分:4)
答案 2 :(得分:0)
它只是评论块, 多行评论/ *评论在这里* / 单行 - 评论来到这里 oracle中其他注释格式是双连字符。 例如
-- this is a query about date
/* this is
a query
about
date */
select sysdate from dual;