查询优化器
Posted zhouwansheng
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了查询优化器相关的知识,希望对你有一定的参考价值。
查询优化器
查询优化器是关系型数据库管理系统的核心之一,决定对特定的查询使用哪些索引、
哪些关联算法,从而使其高效运行。它是优化器中最重要的组件之一。
查询优化器(简称优化器)是 SQL Server针对用户的请求进行内部优化,生 成 (或重 用)执行计划并传输给存储引擎来操作数据,最终返回结果给用户的组件。SQL Server的 优化器是基于开销(cost-based)的优化器。通过针对特定DML语 句 (绝大部分DDL语句 不需要优化),借助统计信息(详见5.4节)及当前硬件信息,分析出一定数量的“可能的执
行方式”,即候选执行计划,最终选择一个最低开销的预估执行计划。所以,优化器是SQL
Server中对性能影响最大的组件,同一个语句,执行计划不同,就可能导致小时级别的差 异。简单来说.,优化器的任务就是生成预估执行计划,注意这里是预估而不是实际执行计
划。对于执行计划,将在第8章介绍。
理解优化器的工作原理能帮助DBA和开发人员编写更高效的语句。本章所用的示例来
源于 SQL Server 2008 R2 的示例数据库 AdventureWorks2008R2。
5 . 1 查询过程
从第3 章的图3-1中可以知道,SQL Server数据库引擎的核心组件包括:存储引擎和 査询处理器(也叫关系引擎)。存储引擎用于管理磁盘和内存之间的数据关系,维护数据的
一致性和优化并发性。关系引擎接收所有提交到SQL Server的DML语句,生成对应的“最 优”执行计划,然后执行这些计划,并返回所需的数据。
以上是关于查询优化器的主要内容,如果未能解决你的问题,请参考以下文章