首页 > 数据库 > Oracle > 使用优化器性能视图获取SQL语句执行环境
--下面的三个性能视图分别对应到不同的级别
scott@ORCL> select table_name from dict where table_name like 'V$%OPTIMIZER_ENV';
TABLE_NAME
------------------------------
V$SYS_OPTIMIZER_ENV
V$SES_OPTIMIZER_ENV
V$SQL_OPTIMIZER_ENV
--注:上述的3个视图实际上是Oracle 10053事件中参数的一个子集
二、实例级别执行环境(视图V$SYS_OPTIMIZER_ENV)
--提供实例级别的环境执行的信息。Oracle 优化器在为SQL语句生成执行计划时,会 据实例级别参数的值来确定,如 optimizer_mode 用于
--确定优化器的模式,optimizer_index_cost_adj用于确定全表扫描与索引扫描之间成本开销的比值等。
--实例级别的参数可以使用下面的方式来设置
alter system set parameter=value scope=memory | both |spfile;
--我们来看看当前实例级别的运行环境
scott@ORCL> select
2 name,
3 value,
4 isdefault
5 from
6 v$sys_optimizer_env
7 order by 3,1;
NAME|VALUE |ISD
-----------------------------------|---------------|---
statistics_level|all |NO -->非缺省值在此显示为NO
active_instance_count|1 |YES
bitmap_merge_area_size|1048576 |YES
cpu_count|1 |YES
cursor_sharing|exact |YES
hash_area_size|131072 |YES
optimizer_dynamic_sampling|2 |YES
optimizer_features_enable