V$SQLAREA中VERSION_COUNT表示这个SQL的版本数,一个SQL语句在library cache中一般是一个cursor head,一个cursor body,cursor head包含sql text和优化器的模式,cursor body包括这个SQL的cursor的详细定义,如真实的查询计划,绑定变量等,由于很多原因,会对同样的SQL产生多个版本,也就是一个cursor head对应多个cursor body,如不同的用户访问其架构里面同样的对象,此时SQL的哈希散列值是一样,但具体的v$sql中的信息不一样,还有绑定变量时开始系统估计的变量长度是30,而后传进来的变量长度跳跃到80,则此时会生成另外一个body,再则根据绑定变量的传值,发现这个数据在表中占了大部分的行,走索引已经不大合适,要换成全表扫描,此时新的查询方案将生成,body自然会增加
VERSION_COUNT的解释
最新推荐文章于 2022-11-16 19:00:00 发布