11g Adaptive Cursor Sharing(三)
sql时,Oracle记录了每次执行时的性能,例如cpu等。这些信息被组织成buckets,
每个bucket中包括一个范围和相应的执行次数,例如cpu时间在0.1s~0.2s的次数是1次,在10s~50s的执行次数也是1次。
(bucket信息保存在V$SQL_CS_HISTOGRAM中)如果这些统计值相差很大,并且执行次数又差不多,那说明数据倾斜的很厉害,就转为ECST。
初始采用PCST时cursor处于monitored state,使用ECST时就是aware state。也就是v$sql的is_bind_aware