This Domain(Admin5.com) is for Sale:

sql优化器探讨

时间:2007-12-23  来源:不详  作者:迈克DB


尽管esr能够扩大它的计划空间和产生更多的待选sql语句,它还是和数据库内部查询优化器一样,面对着不准确的成本估算的问题。没有实际地执行过每一条重写后的sql语句,是根本无法知道,在所有待选sql语句中到底哪一条的性能最好。因此,实际的途径是,测试运行所有的待选sql语句。图2中的esr例子使用了这一方法并附加提供了测试选项来找到性能最好的sql语句。用户可以选择,什么时候来开始测试和答应进行多长时间的测试。此外,esr的重要性还在于,整个优化过程不需要使用者具有数据库专家的经验。正如我们所知道的,不同的sql语法可以引起数据库查询优化器产生不同的执行计划,因此esr也必须具有模拟人工重写sql语句的能力。递归式sql语法转换技术,正是用来模拟人的sql转换方法。它合并一系列有用的转换规则,并使用一次触发一条的方法来转换sql语句。所有的转换规则是不互相依靠的,就像一个个密封的小门,只有在所有必需的条件都满足的情况下,某个密封门才会被打开。这保证了重写后的sql语句与原sql语句在语义上是等效的。

  esr技术的展望

  随着硬件的升级,esr能够合并更多的sql转换规则,来处理数据库的新特性和更复杂的sql语句,理论上,规则的数量是没有限制的。将来,随着数据库生产商在让用户影响数据库优化器方面更加开放,esr将会在优化策略方面得到更多的控制。毫无疑问,esr将会在分担数据库查询优化器的工作负荷上,扮演越来越重要的角色。

织梦好,好织梦


看完这篇,您有何感觉呢?

上一篇:My SQL常见错误问答!   下一篇:理解odbc和ole

文章评论

共有位Admini5网友发表了评论 查看完整内容

24小时热门信息