时间:2021-07-01 10:21:17 帮助过:35人阅读
Selectivity = 0.05*0.05
上述公式适用于禁用了绑定变量窥探且where条件为“目标列between x and y”的Selectivity和Cardinality的计算
NUM_ROWS表示目标列所在列的记录数
where条件为“目标列between x and y”,相当于“目标列>=x and 目标列<=y”,对于“目标列>=x and 目标列<=y”而言,Oracle均会使用5%的可选择率,所以可选择率就是0.05*0.05。
代入公式进行计算,计算结果为180。
zx@MYDB>select table_name,num_rows from dba_tables where owner=user and table_name=‘T1‘; TABLE_NAME NUM_ROWS ------------------------------------------------------------------------------------------ ---------- T1 72005 zx@MYDB>select round(72005*0.05*0.05) from dual; ROUND(72005*0.05*0.05) ---------------------- 180
参考:《基于Oracle的SQL优化》
本文出自 “DBA Fighting!” 博客,请务必保留此出处http://hbxztc.blog.51cto.com/1587495/1904004
Oracle绑定变量窥探
标签:oracle 绑定变量 窥探