import groovy.sql.Sql
sql = Sql.newInstance(
  "jdbc:oracle:thin:@localhost:1521:orcl", 
   "scott",
   "tiger", 
   "oracle.jdbc.driver.OracleDriver")
// インデックスの監視
sql.execute("alter index pk_emp monitoring usage")
// インデックスを使用しないクエリ
query = """
select ename from emp where to_char(empno) = '7369'
"""
sql.eachRow(query){
    // 社員名
    println("ename:${it.ename}")
    println "----"
}
query = """
select * from v\$object_usage
"""
sql.eachRow(query){
    // インデックス名
    println("index_name:${it.index_name}")
    // 使用されたかどうか
    println("used:${it.used}")
    println "----"
}
// インデックスを使用するクエリ
query = """
select ename from emp where empno = 7369
"""
sql.eachRow(query){
    // 社員名
    println("ename:${it.ename}")
    println "----"
}
query = """
select * from v\$object_usage
"""
sql.eachRow(query){
    // インデックス名
    println("index_name:${it.index_name}")
    // 使用されたかどうか
    println("used:${it.used}")
    println "----"
}
// インデックスの監視停止
sql.execute("alter index pk_emp nomonitoring usage")
動作環境
Groovy 1.6.4, JDK6 Update16, Oracle11g R1
関連情報
V$OBJECT_USAGE
http://download.oracle.com/docs/cd/B28359_01/server.111/b28320/dynviews_2077.htm#sthref3094
 
 
 投稿
投稿
 
 
0 件のコメント:
コメントを投稿