使用假想工作量
在许多情况下,应用程序工作量是不存在的。 在这种情况下,SQL Access Advisor可以检查当前逻 辑方案设计与基于表之间所定义的关系的格式化建议。这种类型的工作量也称为假想工作量。SQL Access Advisor可以产生一组初始化建议,并且将会成为优化应用程序的坚实基础。
使用假想工作量的优点:
.只需要方案与表关系
.对于假定场景建模是有效的
使用假想工作量的缺点:
.只有定义了维度才能工作
.在建议访问结构方面没有提供关于影响DML操作的任何信息
.不一定是完整的
为了成功导入一个假想工作量,目标方案必须包含维度信息。可以使用 dbms_advisor.import_sqlwkld_schema过程,语法如下:
dbms_advisor.import_sqlwkld_schema ( workload_name in varchar2, import_mode in varchar2 := 'NEW', priority in number := 2, saved_rows out number, failed_rows out number);
下面的例子创建一个名叫SCHEMA_WKLD的假想工作量,将valid_table_list设置为sh,并调用 dbms_advisor.import_sqlwkld_schema过程来生成假想工作量。
variable workload_name varchar2(255); variable saved_stmts number; variable failed_stmts number; execute :workload_name := 'SCHEMA_WKLD'; execute dbms_advisor.create_sqlwkld(:workload_name); execute dbms_advisor.set_sqlwkld_parameter(:workload_name,VALID_TABLE_LIST, 'SH'); execute dbms_advisor.import_sqlwkld_schema(:workload_name, 'NEW', 2, :saved_stmts, :failed_stmts);
当使用dbms_advisor.import_sqlwkld_schema过程时,valid_table_list参数不能包含通配符比如 SCO%或SCOTT.EMP%。只支持唯一的通配符格式SCOTT.%,它将指定用户方案中的所有表。