当查询视图带 Where 条件 时,可会自动优化? 本帖最后由 kxjrzyk 于 2012-12-13 12:27:09 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 要看你的oracle版本了视图并不存储数据(物理视图除外),他会和你的where条件一起进行被分析、执行你可以做个试验的 不同的优化器可能行为不一样一般是按从右到左解释.但不排除ORACLE重写查询的可能 我有测试过了,ORACLE 解释计划会自动优化!但不知是否有版本的限制 在8i之前,Oracle 使用的是一种叫作RBO(Rule Based Optimizer)的优化器,它的执行机制非常简单,就是在优化器里面嵌入若干种规则,执行的SQL语句符合哪种规则(RANK),则按照规则(RANK)制定出相应的执行计划,比如说表上有个索引,如果谓词上有索引的列存在,则Oracle 会选择索引,否则选择全表扫描;又比如,两个表关联的时候,按照表在SQL中的位置来决定哪个是驱动表。从8i开始,Oracle 引入了CBO(Cost Based Optimizer),它的思路是让Oracle 获取所有执行计划相关的信息,通过对这些信息做计算分析,最后得出一个代价最小的执行计划作为最终的执行计划。CBO是一种比RBO 更理性化的优化器。从10g开始,Oracle 已经彻底丢弃了RBO。即使在表,索引没有被分析的时候,Oracle依然会使用CBO。此时,Oracle 会使用一种叫做动态采样的技术,在分析SQL的时候,动态的收集表,索引上的一些数据块,使用这些数据块的信息及字典表中关于这些对象的信息来计算出执行计划 应该会优化的,记得SQL SERVER好像是会。 oralce 并发处理 TOAD的BUG oracle 批量sql语句中怎么定义变量 ORA-12535:TNS:操作超时 不显示删除回复显示所有回复显示星级回复显示得分回复 用SQL查询数据库中不存在的数据? 自增字段用"序列"一定要用"触发器"吗?用"触发器"和不用"触发器"有什么不同啊? 是不是linux下使用的oracle只有那个 lite 10g? 关于oracle的回滚段 关于sequence,简单问题 能否取两个字段的的and值为关键字! 复合索引 oracle11gR2安装问题
视图并不存储数据(物理视图除外),他会和你的where条件一起进行被分析、执行
你可以做个试验的
一般是按从右到左解释.但不排除ORACLE重写查询的可能
从8i开始,Oracle 引入了CBO(Cost Based Optimizer),它的思路是让Oracle 获取所有执行计划相关的信息,通过对这些信息做计算分析,最后得出一个代价最小的执行计划作为最终的执行计划。
CBO是一种比RBO 更理性化的优化器。从10g开始,Oracle 已经彻底丢弃了RBO。即使在表,索引没有被分析的时候,Oracle依然会使用CBO。此时,Oracle 会使用一种叫做动态采样的技术,在分析SQL的时候,动态的收集表,索引上的一些数据块,使用这些数据块的信息及字典表中关于这些对象的信息来计算出执行计划