网友的相关建议:
一个SQL语句表示你所想要得到的但是并没有告诉Server如何去做. 例如, 利用一个SQL语句, 你可能要Server取出所有住在Prague的客户. 当Server收到的这条SQL的时候, 第一件事情并不是解析它. 如果这条SQL没有语法错误, Server才会继续工作. Server会决定最好的计算方式. Server会选择, 是读整个客户表好呢, 还是利用索引会比较快些. Server会比较所有可能方法所耗费的资源. 最终SQL语句被物理性执行的方法被称做执行计划或者是查询计划.
一个执行计划右若干基本操作组成. 例如, 遍历整张表, 利用索引, 执行一个嵌套循环或Hash连接等等. 我们将在这一系列的文章里详细讨论. 所有的基本操作都有一个输出: 结果集. 有些, 象嵌套循环, 有一个输入. 其他的, 象Hash连接, 有两个输入. 每个输入应与其它基本操作的的输出想连接. 这也就是为什么一个执行可以被看做是一个数的原因: 信息从树叶流向树根. 在文章的下面部分有很多诸如此类的例子.
负责处理或计算最优的执行计划的DB Server组件叫优化器. 优化器是建立在其所在的DB资源的基础上而进行工作的.
说白了就是数据库服务器在执行sql语句之前会制定几套执行计划!看那个机会消耗的系统资源少,就是用那套计划!