在不同的数据库内移植SQL PROFILE优化的SQL信息
[@more@]在scott用户下创建一个SQL PROFILE:SQL> DECLARE my_task_name VARCHAR2(30); my_sqltext CLOB; my_sqlprofile_name VARCHAR2(30); BEGIN my_sqltext := 'select /*+ no_index(emp pk_emp) */ * from emp where empno=7839'; my_task_name := DBMS_SQLTUNE.CREATE_TUNING_TASK( sql_text => my_sqltext, user_name => 'SCOTT', scope => 'COMPREHENSIVE', time_limit => 60, task_name => 'my_sql_tuning_task', description => 'Task to tune a query on a specified table'); DBMS_SQLTUNE.EXECUTE_TUNING
通过SQL PROFILE自动优化SQL语句
SQL的自动优化可以涉及以下操作:SELECT statements UPDATE statements INSERT statements (only with a SELECT clause) DELETE statements CREATE TABLE statements (only with the AS SELECT clause) MERGE statements (the update or insert operations)此项功能一般都属于oracle企业版的一部分,不过sql的自动优化功能可以通过执行DBMS_SQLTUNE包来实现,如果你想通过调用sql automatic tune的API,则首先你需要具备以下权限:CREATE ANY SQL PROFILE,DROP ANY SQL_PROFILE和ALTER ANY SQL_PROFILE的系统权限。使用SQL的自动优化功能: