当前位置:Gxlcms > 数据库问题 > Oracle绑定变量窥探

Oracle绑定变量窥探

时间: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 绑定变量 窥探

人气教程排行