优化模式optimizer_mode为choose,table没有被分析过,却采用cbo的几个原因(zt)

1. 多个表联合查询时,只要其中一个被分析了,其他表同样会被分析并走CBO。


2. 使用partition table , index organized table , parallel > 1 的table 的话,即使不被 analyzed , Oracle也会强制使用 CBO 。

3. 数据量不同,没analyze 也会选择Full Table Scan/ Index Scan

这是由于Oracle 在作CBO时,有时候会利用 Sample Scan 来 检查Table 的数据,所以,就算没有analyze ,CBO 也有可能知道你的大概数据量

请使用浏览器的分享功能分享到微信等