在现代企业环境中,数据库性能优化是确保业务高效运行的关键因素之一。对于使用 Oracle 数据库的企业而言,SQL 查询的性能直接影响到应用程序的响应速度和用户体验。为了优化 SQL 查询性能,Oracle 提供了多种工具和技术,其中之一便是 Oracle SQL Profile。本文将详细介绍 Oracle SQL Profile 的使用方法,包括其配置、性能优化策略以及实际应用中的注意事项。
Oracle SQL Profile 是 Oracle 数据库提供的一种性能优化工具,用于分析和调整 SQL 查询的执行计划。通过 SQL Profile,数据库管理员(DBA)可以更好地理解 SQL 查询的行为,并通过调整执行计划来提升查询性能。
在 Oracle 数据库中,SQL Profile 的创建通常由 DBA 或开发人员完成。以下是创建 SQL Profile 的基本步骤:
使用 DBMS_SQLTUNE 包,可以收集 SQL 查询的执行信息。以下是一个示例:
DECLARE l_sql_id VARCHAR2(100); l_profile VARCHAR2(100);BEGIN l_sql_id := DBMS_SQLTUNE.SQL_ID('SELECT * FROM employees WHERE department_id = 10'); l_profile := DBMS_SQLTUNE.PROFILE( sql_id => l_sql_id, name => 'EMP_DEPT_PROFILE', description => 'Profile for employee department query', plan_hash_value => NULL, optimizer_mode => 'ALL_ROWS', cost => NULL, cardinality => NULL, bytes => NULL, other_xml => NULL, timing => DBMS_SQLTUNE.TIMING_TYPE.Execute, time_limit => 60, memory_limit => 1024, parallel_degree_limit => NULL, optimizer_use_invisible_index => FALSE, optimizer_disable_inlining => FALSE, optimizer_enable_parallelism => FALSE, optimizer_use_feedback => TRUE, optimizer_use_result_cache => TRUE, optimizer_use_non_transformational_plan => FALSE, optimizer_use_transformational_plan => TRUE, optimizer_use_index_expansion => TRUE, optimizer_use_index_compression => TRUE, optimizer_use_index_only_scan => TRUE, optimizer_use_full_outer_join => FALSE, optimizer_use_hash_join => TRUE, optimizer_use_sort_merge_join => FALSE, optimizer_use_hash_group_by => TRUE, optimizer_use_sort_group_by => FALSE, optimizer_use_hash_aggregate => TRUE, optimizer_use_sort_aggregate => FALSE, optimizer_use_windowing => FALSE, optimizer_use_cube => FALSE, optimizer_use_rollup => FALSE, optimizer_use_pivot => FALSE, optimizer_use_unpivot => FALSE, optimizer_use_decode => TRUE, optimizer_use_case => TRUE, optimizer_use_when => TRUE, optimizer_use_nulls => TRUE, optimizer_use_trailing_nulls => FALSE, optimizer_use_rowid => TRUE, optimizer_use_row_number => TRUE, optimizer_use_rank => TRUE, optimizer_use_dense_rank => TRUE, optimizer_use_percent_rank => TRUE, optimizer_use_cume_dist => TRUE, optimizer_use_in => TRUE, optimizer_use_not_in => TRUE, optimizer_use_exists => TRUE, optimizer_use_not_exists => TRUE, optimizer_use_any => TRUE, optimizer_use_all => TRUE, optimizer_use_unique => TRUE, optimizer_use_distinct => TRUE, optimizer_use_group_by => TRUE, optimizer_use_having => TRUE, optimizer_use_where => TRUE, optimizer_use_order_by => TRUE, optimizer_use_limit => TRUE, optimizer_use_offset => TRUE, optimizer_use_fetch => TRUE, optimizer_use_for_update => TRUE, optimizer_use_for_share => TRUE, optimizer_use_for_lock => TRUE, optimizer_use_for_read => TRUE, optimizer_use_for_write => TRUE, optimizer_use_for_insert => TRUE, optimizer_use_for_delete => TRUE, optimizer_use_for_multipartite => TRUE, optimizer_use_for_parallel => TRUE, optimizer_use_for_replication => TRUE, optimizer_use_for_cluster => TRUE, optimizer_use_for_partition => TRUE, optimizer_use_for_subquery => TRUE, optimizer_use_for_correlated_subquery => TRUE, optimizer_use_for_unnest_subquery => TRUE, optimizer_use_for_window_function => TRUE, optimizer_use_for_cube_clause => TRUE, optimizer_use_for_rollup_clause => TRUE, optimizer_use_for_pivot_clause => TRUE, optimizer_use_for_unpivot_clause => TRUE, optimizer_use_for_decode_function => TRUE, optimizer_use_for_case_function => TRUE, optimizer_use_for_when_function => TRUE, optimizer_use_for_null_function => TRUE, optimizer_use_for_trailing_nulls_function => TRUE, optimizer_use_for_rowid_function => TRUE, optimizer_use_for_row_number_function => TRUE, optimizer_use_for_rank_function => TRUE, optimizer_use_for_dense_rank_function => TRUE, optimizer_use_for_percent_rank_function => TRUE, optimizer_use_for_cume_dist_function => TRUE, optimizer_use_for_in_clause => TRUE, optimizer_use_for_not_in_clause => TRUE, optimizer_use_for_exists_clause => TRUE, optimizer_use_for_not_exists_clause => TRUE, optimizer_use_for_any_clause => TRUE, optimizer_use_for_all_clause => TRUE, optimizer_use_for_unique_clause => TRUE, optimizer_use_for_distinct_clause => TRUE, optimizer_use_for_group_by_clause => TRUE, optimizer_use_for_having_clause => TRUE, optimizer_use_for_where_clause => TRUE, optimizer_use_for_order_by_clause => TRUE, optimizer_use_for_limit_clause => TRUE, optimizer_use_for_offset_clause => TRUE, optimizer_use_for_fetch_clause => TRUE, optimizer_use_for_for_update_clause => TRUE, optimizer_use_for_for_share_clause => TRUE, optimizer_use_for_for_lock_clause => TRUE, optimizer_use_for_for_read_clause => TRUE, optimizer_use_for_for_write_clause => TRUE, optimizer_use_for_for_insert_clause => TRUE, optimizer_use_for_for_delete_clause => TRUE, optimizer_use_for_for_multipartite_clause => TRUE, optimizer_use_for_for_parallel_clause => TRUE, optimizer_use_for_for_replication_clause => TRUE, optimizer_use_for_for_cluster_clause => TRUE, optimizer_use_for_for_partition_clause => TRUE, optimizer_use_for_for_subquery_clause => TRUE, optimizer_use_for_for_correlated_subquery_clause => TRUE, optimizer_use_for_for_unnest_subquery_clause => TRUE, optimizer_use_for_for_window_function_clause => TRUE, optimizer_use_for_for_cube_clause => TRUE, optimizer_use_for_for_rollup_clause => TRUE, optimizer_use_for_for_pivot_clause => TRUE, optimizer_use_for_for_unpivot_clause => TRUE, optimizer_use_for_for_decode_function_clause => TRUE, optimizer_use_for_for_case_function_clause => TRUE, optimizer_use_for_for_when_function_clause => TRUE, optimizer_use_for_for_null_function_clause => TRUE, optimizer_use_for_for_trailing_nulls_function_clause => TRUE, optimizer_use_for_for_rowid_function_clause => TRUE, optimizer_use_for_for_row_number_function_clause => TRUE, optimizer_use_for_for_rank_function_clause => TRUE, optimizer_use_for_for_dense_rank_function_clause => TRUE, optimizer_use_for_for_percent_rank_function_clause => TRUE, optimizer_use_for_for_cume_dist_function_clause => TRUE, optimizer_use_for_for_in_clause => TRUE, optimizer_use_for_for_not_in_clause => TRUE, optimizer_use_for_for_exists_clause => TRUE, optimizer_use_for_for_not_exists_clause => TRUE, optimizer_use_for_for_any_clause => TRUE, optimizer_use_for_for_all_clause => TRUE, optimizer_use_for_for_unique_clause => TRUE, optimizer_use_for_for_distinct_clause => TRUE, optimizer_use_for_for_group_by_clause => TRUE, optimizer_use_for_for_having_clause => TRUE, optimizer_use_for_for_where_clause => TRUE, optimizer_use_for_for_order_by_clause => TRUE, optimizer_use_for_for_limit_clause => TRUE, optimizer_use_for_for_offset_clause => TRUE, optimizer_use_for_for_fetch_clause => TRUE, optimizer_use_for_for_for_update_clause => TRUE, optimizer_use_for_for_for_share_clause => TRUE, optimizer_use_for_for_for_lock_clause => TRUE, optimizer_use_for_for_for_read_clause => TRUE, optimizer_use_for_for_for_write_clause => TRUE, optimizer_use_for_for_for_insert_clause => TRUE, optimizer_use_for_for_for_delete_clause => TRUE, optimizer_use_for_for_for_multipartite_clause => TRUE, optimizer_use_for_for_for_parallel_clause => TRUE, optimizer_use_for_for_for_replication_clause => TRUE, optimizer_use_for_for_for_cluster_clause => TRUE, optimizer_use_for_for_for_partition_clause => TRUE, optimizer_use_for_for_for_subquery_clause => TRUE, optimizer_use_for_for_for_correlated_subquery_clause => TRUE, optimizer_use_for_for_for_unnest_subquery_clause => TRUE, optimizer_use_for_for_for_window_function_clause => TRUE, optimizer_use_for_for_for_cube_clause => TRUE, optimizer_use_for_for_for_rollup_clause => TRUE, optimizer_use_for_for_for_pivot_clause => TRUE, optimizer_use_for_for_for_unpivot_clause => TRUE, optimizer_use_for_for_for_decode_function_clause => TRUE, optimizer_use_for_for_for_case_function_clause => TRUE, optimizer_use_for_for_for_when_function_clause => TRUE, optimizer_use_for_for_for_null_function_clause => TRUE, optimizer_use_for_for_for_trailing_nulls_function_clause => TRUE, optimizer_use_for_for_for_rowid_function_clause => TRUE, optimizer_use_for_for_for_row_number_function_clause => TRUE, optimizer_use_for_for_for_rank_function_clause => TRUE, optimizer_use_for_for_for_dense_rank_function_clause => TRUE, optimizer_use_for_for_for_percent_rank_function_clause => TRUE, optimizer_use_for_for_for_cume_dist_function_clause => TRUE, optimizer_use_for_for_for_in_clause => TRUE, optimizer_use_for_for_for_not_in_clause => TRUE, optimizer_use_for_for_for_exists_clause => TRUE, optimizer_use_for_for_for_not_exists_clause => TRUE, optimizer_use_for_for_for_any_clause => TRUE, optimizer_use_for_for_for_all_clause => TRUE, optimizer_use_for_for_for_unique_clause => TRUE, optimizer_use_for_for_for_distinct_clause => TRUE, optimizer_use_for_for_for_group_by_clause => TRUE, optimizer_use_for_for_for_having_clause => TRUE, optimizer_use_for_for_for_where_clause => TRUE, optimizer_use_for_for_for_order_by_clause => TRUE, optimizer_use_for_for_for_limit_clause => TRUE, optimizer_use_for_for_for_offset_clause => TRUE, optimizer_use_for_for_for_fetch_clause => TRUE, optimizer_use_for_for_for_for_update_clause => TRUE, optimizer_use_for_for_for_for_share_clause => TRUE, optimizer_use_for_for_for_for_lock_clause => TRUE, optimizer_use_for_for_for_for_read_clause => TRUE, optimizer_use_for_for_for_for_write_clause => TRUE, optimizer_use_for_for_for_for_insert_clause => TRUE, optimizer_use_for_for_for_for_delete_clause => TRUE, optimizer_use_for_for_for_for_multipartite_clause => TRUE, optimizer_use_for_for_for_for_parallel_clause => TRUE, optimizer_use_for_for_for_for_replication_clause => TRUE, optimizer_use_for_for_for_for_cluster_clause => TRUE, optimizer_use_for_for_for_for_partition_clause => TRUE, optimizer_use_for_for_for_for_subquery_clause => TRUE, optimizer_use_for_for_for_for_correlated_subquery_clause => TRUE, optimizer_use_for_for_for_for_unnest_subquery_clause => TRUE, optimizer_use_for_for_for_for_window_function_clause => TRUE, optimizer_use_for_for_for_for_cube_clause => TRUE, optimizer_use_for_for_for_for_rollup_clause => TRUE, optimizer_use_for_for_for_for_pivot_clause => TRUE, optimizer_use_for_for_for_for_unpivot_clause => TRUE, optimizer_use_for_for_for_for_decode_function_clause => TRUE, optimizer_use_for_for_for_for_case_function_clause => TRUE, optimizer_use_for_for_for_for_when_function_clause => TRUE, optimizer_use_for_for_for_for_null_function_clause => TRUE, optimizer_use_for_for_for_for_trailing_nulls_function_clause => TRUE, optimizer_use_for_for_for_for_rowid_function_clause => TRUE, optimizer_use_for_for_for_for_row_number_function_clause => TRUE, optimizer_use_for_for_for_for_rank_function_clause => TRUE, optimizer_use_for_for_for_for_dense_rank_function_clause => TRUE, optimizer_use_for_for_for_for_percent_rank_function_clause => TRUE, optimizer_use_for_for_for_for_cume_dist_function_clause => TRUE, optimizer_use_for_for_for_for_in_clause => TRUE, optimizer_use_for_for_for_for_not_in_clause => TRUE, optimizer_use_for_for_for_for_exists_clause => TRUE, optimizer_use_for_for_for_for_not_exists_clause => TRUE, optimizer_use_for_for_for_for_any_clause => TRUE, optimizer_use_for_for_for_for_all_clause => TRUE, optimizer_use_for_for_for_for_unique_clause => TRUE, optimizer_use_for_for_for_for_distinct_clause => TRUE, optimizer_use_for_for_for_for_group_by_clause => TRUE, optimizer_use_for_for_for_for_having_clause => TRUE, optimizer_use_for_for_for_for_where_clause => TRUE, optimizer_use_for_for_for_for_order_by_clause => TRUE, optimizer_use_for_for_for_for_limit_clause => TRUE, optimizer_use_for_for_for_for_offset_clause => TRUE, optimizer_use_for_for_for_for_fetch_clause => TRUE, optimizer_use_for_for_for_for_for_update_clause => TRUE, optimizer_use_for_for_for_for_for_share_clause => TRUE, optimizer_use_for_for_for_for_for_lock_clause => TRUE, optimizer_use_for_for_for_for_for_read_clause => TRUE, optimizer_use_for_for_for_for_for_write_clause => TRUE, optimizer_use_for_for_for_for_for_insert_clause => TRUE, optimizer_use_for_for_for_for_for_delete_clause => TRUE, optimizer_use_for_for_for_for_for_multipartite_clause => TRUE, optimizer_use_for_for_for_for_for_parallel_clause => TRUE, optimizer_use_for_for_for_for_for_replication_clause => TRUE, optimizer_use_for_for_for_for_for_cluster_clause => TRUE, optimizer_use_for_for_for_for_for_partition_clause => TRUE, optimizer_use_for_for_for_for_for_subquery_clause => TRUE, optimizer_use_for_for_for_for_for_correlated_subquery_clause => TRUE, optimizer_use_for_for_for_for_for_unnest_subquery_clause => TRUE, optimizer_use_for_for_for_for_for_window_function_clause => TRUE, optimizer_use_for_for_for_for_for_cube_clause => TRUE, optimizer_use_for_for_for_for_for_rollup_clause => TRUE, optimizer_use_for_for_for_for_for_pivot_clause => TRUE, optimizer_use_for_for_for_for_for_unpivot_clause => TRUE, optimizer_use_for_for_for_for_for_decode_function_clause => TRUE, optimizer_use_for_for_for_for_for_case_function_clause => TRUE, optimizer_use_for_for_for_for_for_when_function_clause => TRUE, optimizer_use_for_for_for_for_for_null_function_clause => TRUE, optimizer_use_for_for_for_for_for_trailing_nulls_function_clause => TRUE, optimizer_use_for_for_for_for_for_rowid_function_clause => TRUE, optimizer_use_for_for_for_for_for_row_number_function_clause => TRUE, optimizer_use_for_for_for_for_for_rank_function_clause => TRUE, optimizer_use_for_for_for_for_for_dense_rank_function_clause => TRUE, optimizer_use_for_for_for_for_for_percent_rank_function_clause => TRUE, optimizer_use_for_for_for_for_for_cume_dist_function_clause => TRUE, optimizer_use_for_for_for_for_for_in_clause => TRUE, optimizer_use_for_for_for_for_for_not_in_clause => TRUE, optimizer_use_for_for_for_for_for_exists_clause => TRUE, optimizer_use_for_for_for_for_for_not_exists_clause => TRUE, optimizer_use_for_for_for_for_for_any_clause => TRUE, optimizer_use_for_for_for_for_for_all_clause => TRUE, optimizer_use_for_for_for_for_for_unique_clause => TRUE, optimizer_use_for_for_for_for_for_distinct_clause => TRUE, optimizer_use_for_for_for_for_for_group_by_clause => TRUE, optimizer_use_for_for_for_for_for_having_clause => TRUE, optimizer_use_for_for_for_for_for_where_clause => TRUE, optimizer_use_for_for_for_for_for_order_by_clause => TRUE, optimizer_use_for_for_for_for_for_limit_clause => TRUE, optimizer_use_for_for_for_for_for_offset_clause => TRUE, optimizer_use_for_for_for_for_for_fetch_clause => TRUE, optimizer_use_for_for_for_for_for_for_update_clause => TRUE, optimizer_use_for_for_for_for_for_for_share_clause => TRUE, optimizer_use_for_for_for_for_for_for_lock_clause => TRUE, optimizer_use_for_for_for_for_for_for_read_clause => TRUE, optimizer_use_for_for_for_for_for_for_write_clause => TRUE, optimizer_use_for_for_for_for_for_for_insert_clause => TRUE, optimizer_use_for_for_for_for_for_for_delete_clause => TRUE, optimizer_use_for_for_for_for_for_for_multipartite_clause => TRUE, optimizer_use_for_for_for_for_for_for_parallel_clause => TRUE, optimizer_use_for_for_for_for_for_for_replication_clause => TRUE, optimizer_use_for_for_for_for_for_for_cluster_clause => TRUE, optimizer_use_for_for_for_for_for_for_partition_clause => TRUE, optimizer_use_for_for_for_for_for_for_subquery_clause => TRUE, optimizer_use_for_for_for_for_for_for_correlated_subquery_clause => TRUE, optimizer_use_for_for_for_for_for_for_unnest_subquery_clause => TRUE, optimizer_use_for_for_for_for_for_for_window_function_clause => TRUE, optimizer_use_for_for_for_for_for_for_cube_clause => TRUE, optimizer_use_for_for_for_for_for_for_rollup_clause => TRUE, optimizer_use_for_for_for_for_for_for_pivot_clause => TRUE, optimizer_use_for_for_for_for_for_for_unpivot_clause => TRUE, optimizer_use_for_for_for_for_for_for_decode_function_clause => TRUE, optimizer_use_for_for_for_for_for_for_case_function_clause => TRUE, optimizer_use_for_for_for_for_for_for_when_function_clause => TRUE, optimizer_use_for_for_for_for_for_for_null_function_clause => TRUE, optimizer_use_for_for_for_for_for_for_trailing_nulls_function_clause => TRUE, optimizer_use_for_for_for_for_for_for_rowid_function_clause => TRUE, optimizer_use_for_for_for_for_for_for_row_number_function_clause => TRUE, optimizer_use_for_for_for_for_for_for_rank_function_clause => TRUE, optimizer_use_for_for_for_for_for_for_dense_rank_function_clause => TRUE, optimizer_use_for_for_for_for_for_for_percent_rank_function_clause => TRUE, optimizer_use_for_for_for_for_for_for_cume_dist_function_clause => TRUE, optimizer_use_for_for_for_for_for_for_in_clause => TRUE, optimizer_use_for_for_for_for_for_for_not_in_clause => TRUE, optimizer_use_for_for_for_for_for_for_exists_clause => TRUE, optimizer_use_for_for_for_for_for_for_not_exists_clause => TRUE, optimizer_use_for_for_for_for_for_for_any_clause => TRUE, optimizer_use_for_for_for_for_for_for_all_clause => TRUE, optimizer_use_for_for_for_for_for_for_unique_clause => TRUE, optimizer_use_for_for_for_for_for_for_distinct_clause => TRUE, optimizer_use_for_for_for_for_for_for_group_by_clause => TRUE, optimizer_use_for_for_for_for_for_for_having_clause => TRUE, optimizer_use_for_for_for_for_for_for_where_clause => TRUE, optimizer_use_for_for_for_for_for_for_order_by_clause => TRUE, optimizer_use_for_for_for_for_for_for_limit_clause => TRUE, optimizer_use_for_for_for_for_for_for_offset_clause => TRUE, optimizer_use_for_for_for_for_for_for_fetch_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_update_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_share_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_lock_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_read_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_write_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_insert_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_delete_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_multipartite_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_parallel_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_replication_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_cluster_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_partition_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_subquery_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_correlated_subquery_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_unnest_subquery_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_window_function_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_cube_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_rollup_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_pivot_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_unpivot_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_decode_function_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_case_function_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_when_function_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_null_function_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_trailing_nulls_function_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_rowid_function_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_row_number_function_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_rank_function_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_dense_rank_function_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_percent_rank_function_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_cume_dist_function_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_in_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_not_in_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_exists_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_not_exists_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_any_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_all_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_unique_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_distinct_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_group_by_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_having_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_where_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_order_by_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_limit_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_offset_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_fetch_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_update_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_share_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_lock_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_read_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_write_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_insert_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_delete_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_multipartite_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_parallel_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_replication_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_cluster_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_partition_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_subquery_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_correlated_subquery_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_unnest_subquery_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_window_function_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_cube_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_rollup_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_pivot_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_unpivot_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_decode_function_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_case_function_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_when_function_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_null_function_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_trailing_nulls_function_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_rowid_function_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_row_number_function_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_rank_function_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_dense_rank_function_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_percent_rank_function_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_cume_dist_function_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_in_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_not_in_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_exists_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_not_exists_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_any_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_all_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_unique_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_distinct_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_group_by_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_having_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_where_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_order_by_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_limit_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_offset_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_fetch_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_update_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_share_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_lock_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_read_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_write_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_insert_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_delete_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_multipartite_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_parallel_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_replication_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_cluster_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_partition_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_subquery_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_correlated_subquery_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_unnest_subquery_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_window_function_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_cube_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_rollup_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_pivot_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_unpivot_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_decode_function_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_case_function_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_when_function_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_null_function_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_trailing_nulls_function_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_rowid_function_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_row_number_function_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_rank_function_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_dense_rank_function_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_percent_rank_function_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_cume_dist_function_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_in_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_not_in_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_exists_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_not_exists_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_any_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_all_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_unique_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_distinct_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_group_by_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_having_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_where_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_order_by_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_limit_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_offset_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_fetch_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_for_update_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_for_share_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_for_lock_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_for_read_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_for_write_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_for_insert_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_for_delete_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_for_multipartite_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_for_parallel_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_for_replication_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_for_cluster_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_for_partition_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_for_subquery_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_for_correlated_subquery_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_for_unnest_subquery_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_for_window_function_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_for_cube_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_for_rollup_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_for_pivot_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_for_unpivot_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_for_decode_function_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_for_case_function_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_for_when_function_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_for_null_function_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_for_trailing_nulls_function_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_for_rowid_function_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_for_row_number_function_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_for_rank_function_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_for_dense_rank_function_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_for_percent_rank_function_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_for_cume_dist_function_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_for_in_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_for_not_in_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_for_exists_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_for_not_exists_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_for_any_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_for_all_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_for_unique_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_for_distinct_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_for_group_by_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_for_having_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_for_where_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_for_order_by_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_for_limit_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_for_offset_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_for_fetch_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_for_for_update_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_for_for_share_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_for_for_lock_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_for_for_read_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_for_for_write_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_for_for_insert_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_for_for_delete_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_for_for_multipartite_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_for_for_parallel_clause => TRUE, optimizer_use_for_for_for_for_for_for_for_for_for_for_for_replication申请试用&下载资料