Oracle CBO也叫Cost-Based Optimizer,它是由美国甲骨文研发的一种优化器,是数据库技术的基础,是Oracle数据库运行性能的枢纽。
Oracle CBO的优化器的原理是:它通过收集和分析库表的元数据信息,运用统计信息做概率估算,以便最大程度减少查询请求执行时长,最终达到理想资源利用率。CBO比较常用的方式是收集数据库表或库视图的统计信息,通过分析信息计算出行的百分比来估算目标表数据的准确性,以便智能优化器能够较为合理的选择最佳的运行计划。
CBO有助于数据库的运行性能可以从四个方面进行说明:
1、第一个是通过全局优化的思想,CBO让数据库系统以一个整体的视角来考虑查询优化,有效降低查询体系的开销,获得更加有效率的查询执行。
2、第二个是选择更可靠的查询优化方式,CBO可以通过收集和分析库表的元数据信息,运用统计信息做概率估算,更精准的选择查询的执行计划,从而有效的降低查询执行的时间,提高查询性能。
3、第三个是对负载平衡的影响,CBO可以支持客户端和数据库服务器之间负载选择较佳的计算方案,提升数据库服务器同时访问请求的能力,大量提高服务质量及数据库运行性能。
4、第四个是有助于提高查询执行效率,CBO有助于数据库在编译查询语句进行选择计算时,更加精准智能。可以选择更合适的执行计划,大量节省查询的时间,节省资源,提升数据库的性能。
综上所述,Oracle CBO是优化数据库运行性能的一个有助于的利器,它能够通过收集和分析库表的元数据信息,运用统计信息做概率估算,有效的减少查询请求执行时长,大量降低计算负载,提升数据库运行性能。