返回数说广场
0
优化器都包含以下哪几项的主要组件?
计划生成器、访问路径、估算器、优化器提示、查询转换器、优化器统计
优化器的输入是一个已解析的查询,优化器将执行以下操作:
1 优化器接收已解析的查询,并基于可用的访问路径和提示,为SQL 语句生成一组潜在的计划。
2 优化器基于数据字典中的统计信息,估计每个计划的成本。成本是一个与特定用于执行该语句的计划所需的预期资源使用成正比的估计值。
3 优化器比较各个计划的成本,并选择具有最低成本的计划(也叫查询计划),然后传递给行源生成器
查询转换器
查询转换器确定更改查询的形式是否有助于优化器生成一个更好的执行计划。查询转换器的输入是一个由一组查询块表示的已分析的查询。
估算器
估算器确定一个给定的执行计划的总体成本。估算器生成三种不同类型的测量值,以实现这一目标(选择性、基数、成本)
计划生成器
计划生成器对提交的查询尝试不同的计划,并选出具有最低成本的计划。优化器为每个由单独查询块表示的嵌套子查询和未合并试图生成子计划。计划生成器通过尝试不同的访问路径、 联接方法、和联接顺序,来为查询块探究各种计划。
访问路径
访问路径是从数据库检索数据的方式。例如,使用索引的查询与不使用索引的查询具有不同的访问路径。通常,索引访问路径对于只检索表行中的一个小的子集是最佳的。而完全扫描则对访问表中的一大部分更有效。
优化器统计
优化器统计信息是描述有关数据库和数据库中的对象的详细信息的数据集合。统计信息提供数据存储和分布的正确描述,以被优化器用来评估访问路径。
优化器提示
提示是SQL 语句中的注释,作为优化程序的一个指示。有时应用程序的设计者比优化器更了解一个特定的应用程序的数据的详细信息,他可以选择一个运行 SQL 语句的更有效方法。应用程序设计者可以在 SQL 语句中使用提示,来指定该语句应该如何运行。
0
0 97
分享
评论
热门数说


