読者です 読者をやめる 読者になる 読者になる

Gblog

おもにTips

SQL文の先頭のヒントは無視される

そもそもコメントは無視されるのですが、

何が言いたいかというと。

  • /* TEST */SELECT 1 FROM DUAL;
  • SELECT 1 FROM DUAL;

この 2つのSQLSQL_ID は同じ。

SPA を使用した場合に、/* SQL ANALYZE(n,n) */ みたいなコメントが先頭に入っているので、実行時の SQL_ID は変わっているんじゃないかと心配になって調べました。

 

結果、コメントが先頭に付与されても SQL_ID は同じでした。

SQL Profile とか、SQL_ID 単位で有効なものは、SPA 実行時にも効いてくれます。

 

よかった、よかった。

一応、確認した結果を。

SQL> /* TEST */SELECT 'GBLOG' FROM DUAL;

'GBLOG'
----------
GBLOG

SQL> /* TEST */ SELECT 'GBLOG' FROM DUAL;

'GBLOG'
----------
GBLOG

SQL> SELECT 'GBLOG' FROM DUAL;

'GBLOG'
----------
GBLOG

SQL> SELECT SQL_ID,SQL_TEXT FROM V$SQL WHERE SQL_TEXT LIKE '%SELECT%GBLOG%DUAL';

SQL_ID                     SQL_TEXT
-------------------------- ------------------------------
5k2cr0wy70nck               SELECT 'GBLOG' FROM DUAL
dgn272uzc5n80              SELECT 'GBLOG' FROM DUAL