oracle找出沒有使用繫結變數的sql語句

苦笑人發表於2016-06-17
select sql_text from v$sql where plan_hash_avlue in(
    select plan_hash_value
    from v$sql
    group by plan_hash_value
    having count(*)>1
)
order by plan_hash_value;

分析:由於每次執行一個沒有繫結變數的sql語句都會重新生成一個執行計劃,所以,如果要查詢沒有繫結變數的語句,要該到執行計劃數超過1的sql語句。

同理:

如果要找繫結變數的sql語句,操作反之

select sql_text from v$sql where plan_hash_avlue in(
    select plan_hash_value
    from v$sql
    group by plan_hash_value
    having count(*)=1
)
order by plan_hash_value;

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29952014/viewspace-2120331/,如需轉載,請註明出處,否則將追究法律責任。

相關文章