发布网友 发布时间:2022-04-08 02:48
共1个回答
热心网友 时间:2022-04-08 04:17
9i前RBO熟敢妄言 关于10gCBO谈我理解 首先影响优化器执行计划主要素统计信息优化器根据统计信息情况单表选择全表扫描索引表联接式选择嵌套哈希合并排序同统计信息同执行计划候发现前跑sql突变慢数情况重新收集统计信息便解决统计信息块需要关注直图块产环境都存数据倾斜情况若未准确收集直图执行计划便失偏颇 -------------------------------------------------------------------------------------------------------------------- 第二点sql语句写问题比字段索引谓词条件写like '%xxx%'式导致该字段索引用比表连接式用>类使用hash join其实些与其说写问题倒说oracle自身定编码规则符合该规则条件用index类 -------------------------------------------------------------------------------------------------------------------- 第三点奈点CBO自身缺陷问题候统计信息新符合写规范CBO我所期待执行计划候通要改变sql语句逻辑写比标量查询否换左连接用with as替换些查询等期待oracle更高效率执行计划另外使用hint迫使CBO所期待执行计划CBO定范 谈及缺陷算缺陷尤其表越现更排列能性oracle能所执行计划都选择优定按照定比例择取具体少我详说DBA完全凭借自身所管理oracle解程度给sql语句指定优执行计划 -------------------------------------------------------------------------------------------------------------------- 其些细节问题工作慢慢体cbo相