第二章
bind_variables.sql 展示怎样绑定变量及何时绑定变量会导致游标共享 bind_variables_peeking.sql 展示绑定变量窥测的优缺点 selectivity.sql 展示选择率 sharable_cursors.sql 展示无法共享的父游标和子游标的示例 |
第三章
DBM11106_ora_6334.trc 样本跟踪文件,解释 tkprof和 tvd$xtat的依据 DBM11106_ora_6334.txt tkprof对跟踪文件DBM11106_ora_6334.trc产生的输出,用作解释tkprof产生文件的格式的根据 DBM11106_ora_6334.html tvd$xtat 对跟踪文件DBM11106_ora_6334.trc产生的输出,用作解释tvd$xtat产生文件的格式的根据 dbm10203_ora_24433.trc 展示单个会话产生的多条信息如何存储 dbm10203_s000_24374.trc 通过共享服务器连接的三个会话的信息是如何存储的 dbms_profiler.sql 如何剖析一个PL/SQL存储过程及如何显示生成的信息 dbms_profiler_triggers.sql 创建两个触发器分别启用和禁用PL/SQL剖析 LoggingPerf.java makefile.mk map_session_to_tracefile.sql 将会话号映射到跟踪文件 perfect_triangles.sql 创建存储过程perfect_triangles session_attributes.c SessionAttributes.java trcsess.awk |
第四章
clustering_factor.sql 创建一个函数,阐述聚簇因子是如何计算的 col_usage.sql 展示表中列的使用情况 comparing_object_statistics.sql 如何对当前对象统计和特定的或存储在备份表中的历史统计信息做比较 cpu_cost_column_access.sql 访问一个字段时,查询优化器对CPU开销的评估是取决于此字段在表中的位置 dbms_stats_job_10g.sql 自动收集对象统计信息而实施的调度作业的真实配置,在10g数据库创建时安装并预定的 dbms_stats_job_11g.sql 自动收集对象统计信息而实施的调度作业的真实配置,在11g数据库创建时安装并预定的 delete_histogram.sql 如何在不修改其他统计信息的情况下删除单个直方图 lock_statistics.sql 展示被锁定对象的工作和行为的统计信息 mreadtim_lt_sreadtim.sql 展示了当多块读数据平均读取时间小于或等于单块数据平均读取时间时,对查询优化器实施的修正 object_statistics.sql 全部对象统计信息的概览 pending_object_statistics.sql 在新的对象统计信息发布前使用待定统计信息进行测试 system_stats_history.sql 从用脚本system_stats_history_job.sql创建的历史表抽取工作量统计信息。输出可以导入到excel表格 system_stats_history.xls system_stats_history.xls system_stats_history_job.sql 创建一张表和一个作业来存储过去几天内工作量统计信息的演化 |
第五章
assess_dbfmbrc.sql 测试初始化参数 db_file_multiblock_read_count在不同值的情况多块读的性能 bug5015557.sql 禁用bug修复 dynamic_sampling_levels.sql 利用动态采样的查询的示例,采用从1到4 optimizer_index_caching.sql 展示了初始化参数optimizer_index_cahing发挥作用的地方和缺点 optimizer_index_cost_adj.sql 展示了初始化参数optimizer_index_cost_adj的缺点 optimizer_secure_view_merging.sql 展示了初始化参数optimizer_secure_view_merging发挥作用的地方和缺点 |
第六章
dbms_xplan_output.sql 展示 dbms_xplan提供的详细信息 display.sql 展示如何使用dbms_xplan中的display函数 display_awr.sql 展示如何使用dbms_xpan中的 display_awr函数 display_cursor.sql 展示如何使用dbms_xpan中的 display_cursor函数 display_cursor_9i.sql 展示一个存储在库缓存中的游标的执行计划。此游标通过地址、哈希值、子游标号来识别 execution_plans.sql 展示了组成执行计划的不同类型的操作 explain_plan.sql --- parent_vs_child_cursors.sql 展示一个父游标和子游标的关系 restriction_not_recognized.sql 通过检查实际基数识别低效的执行计划 wrong_estimations.sql 通过观察错误的评估来识别低效的执行计划 |
第七章
all_rows.sql 通过sql概要将优化器模式从rule转换为 all_rows baseline_autoevolution.sql ---- baseline_automatic.sql 展示了优化器如何自动捕获sql计划基线 baseline_evolution_delete.sql --- baseline_from_sqlarea1.sql 展示如何手动从库缓存加载sql计划基线。游标通过相关sq语句的文本识别 baseline_from_sqlarea2.sql 展示如何手动从库缓存加载sql计划基线。游标通过相关sql语句的标识符识别 baseline_from_sqlarea3.sql 展示如何在不修改代码的条件下对应用程序调优。sql计划基线用与此目的 baseline_from_sqlset.sql 展示如何手动从sql调优集加载sql计划基线 baseline_upgrade_10g.sql 展示如何在oracle 10g上创建和导出sql调优集 baseline_upgrade_11g.sql ch.sql -- clone_baseline.sql 展示入耳在两个数据库间移动sql计划基线 clone_sql_profile.sql 展示了如何创建sql概要的副本 depts_wo_emps.sql 产生在7.1节作为示例的执行计划 exec_env_trigger.sql 创建配置表和数据库触发器泳衣控制会话级执行环境 first_rows.sql 展示了通过sql概要将优化器模式从all_rows转换为first_rows object_stats.sql 通过sql概要提供对象统计信息给查询优化器 opt_estimate.sql 展示了通过sql概要来提高查询优化器执行的基数评估 outline_editing.sql 展示了如何手动编辑存储提纲 outline_edit_tables.sql 展示了 为创建私有存储提纲必需的工作表和公共同义词 outline_from_sqlarea.sql 展示了如何通过引用共享池的游标来手动创建一个存储提纲 outline_from_text.sql 如何手动创建一个存储提纲及如何管理和使用它 outline_with_ffs.sql 测试存储提纲是否能够覆盖初始化参数optimizer_features_enable的设置 outline_with_hj.sql 测试存储提纲是否能覆盖初始化参数optimizer_features_enables的设置 outline_with_rewrite.sql outline_with_star.sql sqltext_to_signature.sql tune_last_statement.sql |
第八章
bind_variables.sql 展示了怎样及何时绑定变量会导致游标共享 Bind_variables_peeking.sql 展示了暂成和反对绑定变量窥测的理由
client-side_caching.sql ConnectionUtil.java long_parse long_parse.sql 展示一个大约1秒钟的解析。同时展示一个创建一个存储提纲一避免这样的长解析 long_parse.zip makefile.mk ParsingTest.sql ParsingTest1 ParsingTest1.c ParsingTest1.cs ParsingTest1.java ParsingTest1.sql、ParsingTest2.sql 、ParsingTest3.sql 分别提供测试用例1、2、3的plsql ParsingTest1.zip ParsingTest2.c ParsingTest2.cs ParsingTest2.java
ParsingTest2.zip ParsingTest3.c ParsingTest3.java ParsingTest3.zip |
第九章
access_structures_1.sql 比较读单条记录所用的不同访问结构的性能 access_structures_1000.sql 比较堵多条记录所用的不同访问结构的性能 conditions.sql 展示如何将B-树索引和位图索引应用于几类情况 fbi.sql 展示函数索引的一个示例 full_scan_hwm.sql 展示全表扫描读所有数据块知道高水位线 hash_cluster.sql index_full_scan.sql 展示全索引扫描的几个例子 iot_guess.sql 展示失效猜测对逻辑读的影响 linguistic_index.sql 展示语义索引的一个例子 pruning_composite.sql 展示了分区裁剪应用于一张组合分区表的几个示例 pruning_hash.sql 展示了分区裁剪应用于一张哈希分区表的几个示例 pruning_list.sql 展示了分区裁剪应用于一张列表分区表的几个示例 pruning_range.sql 展示了分区裁剪应用于一张范围分区表的几个示例 read_consistency.sql 展示了如何因为读一致性使逻辑读的数量可能发生改变 row_prefetching.sql 展示了如何因为行预取使逻辑读的数量发生改变 |
第十章
block_prefetching.sql 展示对数据块和索引块的块预获取 create_tx.sql --- hash_join.sql 展示了哈希连接的几个示例 join_elimination.sql 展示了连接去除的一个示例 join_elimination2.sql --- join_trees.sql 对每种类型的连接数提供一个示例 join_types.sql 对每种类型的连接提供一个示例 merge_join.sql 提供合并连接的几个示例 nested_loops_join.sql 提供嵌套循环连接的几个示例 outer_join.sql 提供外连接的几个示例 outer_to_inner.sql 提供外连接转换为内连接的杰哥示例 pwj.sql 提供分区智能连接的几个示例 pwj_performance.sql 比较不同分区智能连接的性能 star_transformation.sql 提供星型转换的几个示例 subquery_unnesting.sql 提供子查询费潜逃的几个示例 |
第十一章
array_interface.c ArrayInterface.cs ArrayInterface.java array_interface.sql 提供plsql、oci、jdbc、odp.net实现数组接口的几个示例
ArrayInterfacePerf.java 提供数组接口可以极大的改善大负载操作的响应时间
atomic_refresh.sql 用来重现oracle9i bug3168840的效果,该bug导致在刷新单个物化视图是,刷新无法正确执行 dpi.sql 展示和某些事项相关的直接路径插入的行为,这些行为是:高速缓存的使用,重做和回滚的的产生及对触发器和外检的支持 dpi_performance.sql 比较直接路径插入和常规插入 makefile.mk mv.sql 展示物化视图的基本概念 mv_refresh_log.sql 基于物化视图的日志快速刷新是如何工作的 mv_refresh_pct.sql 基于分区变化跟踪的快速刷新是如何工作的 mv_rewrite.sql 基于查询重新的几个示例 px_auto_dop.sql px_ddl.sql 展示并行ddl的几个示例 px_dml.sql 展示并行dml的几个示例 px_dop1.sql 展示初始化参数parallel_min_percent的影响 px_dop2.sql 展示提示并不强制查询优化器使用并行处理,仅仅覆盖默认默认并行度 px_query.sql 展示并行查询的几个示例 px_tqstat.sql 展示动态性能视图v$pq_tqstat显示哪些信息 result_cache_plsql.sql result_cache_query.sql 展示查询利用服务器端结果缓存的一个示例 row_prefetching.sql 提供利用plsql、oci、jdbc和odp.net实现行预取的几个示例 row_prefetching.c RowPrefetching.cs RowPrefetching.java RowPrefetchingPerf.java |
第十二章
buffer_busy_waits.sql 展示造成大量buffer_busy_waits时间的处理的一个例子 buffer_busy_waits.zip 用到的跟踪文件和 用 pkprof和 tvd$xtzt产生的输出 column_order.sql 展示字段在记录中的位置决定了访问它所需的开销 data_compression.sql 展示i/o性能应该随着数据压缩得到提升 reverse_index.sql 展示了 反转索引无法支持基于范围条件的限制 wrong_datatype.sql 展示了错误使用数据类型会对查询优化器的决定产生很大影响 |