<海量数据库解决方案>2011032801
【摘抄】
执行计划的控制:
1、使用提示(Hint):这个是将我们的要求传达给优化器的重要手段
2、直接改变SQL类型
在Oracle中,有以下提示:
1、使用提示实现最优化目标
ALL_ROWS
为实现查询语句整体结果最优化而引导优化器制定最少成本的执行计划。
CHOOSE
依据SQL中所使用到的表的统计信息存在与否,来决定使用RBO还是CBO
FIRST_ROWS
为获取最佳响应时间而引导优化器制定最少成本的执行计划
PS:在MSSql中,可以使用Set RowCount N或Select Top N来对应
RULE
使用基于规则的优化器来实现最优化执行,即引导优化器根据优先顺序规则来决定查询条件中所使用到的索引或运算符的执行顺序来制定执行计划。
2、使用提示改变表连接顺序
ORDERED
引导优化器按照from中所描述的表的顺序执行连接。
LEADING
引导优化器使用leading指定的表作为表连接中的第一个表。
后续还有多种提示,不适合记录,因为没有实践的理解~建议在Oracle中实践时多阅读下,另外,在MSSql中尽量参考下
无论生活、还是技术,一切都不断的学习和更新~~~努力~