本篇内容介绍了“数据库的性能问题有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!谓词越界常见发生在 where 谓词是时间字段的情况,总的来说统计信息记录的是一个过旧的时间,而 S免费主机域名QL 传入的时间是一个最新的时间范围(往往是
谓词越界就是 select 的谓词的条件不在统计信息 low_value 和 high_value 之间,在实际选择结果集要大于 CBO 记录的结果集数量,即实际的 selectivity 偏大,这种情况下 CBO 评估出来的 selectivity 会出现严重的偏差,导致 CBO 选错执行计划。下面做一组测试,从执行计划 cost 看谓词越界的发生过程,先插入部分数据:查看此时的 num_rows:不收集统计信息,此时统计列统计信息过旧,HIGH_VALUE 依然是原来的值 78179。查询结果返回 2081 行结果集。查看结果集发现 dictionary 值为 1,这明显是一个错误的执行计划,由于统计信息过旧,已经低于谓词条件区间(谓词过界)导致 CBO 低估了查询成本。重新收集统计信息再次查看执行计划。此时统计信息 HIGH_VALUE 已经和最初计算的值相等,Typ=2 Len=2: c3,b。再次查看执行计划,此时 CBO 已经能够产生了正确的执行计划了。执行计划为:谓词越界主要发生在大表,按照 Oracle 统计信息收集机制,表的数据变化量达到 10% 以上才会进行统计信息收集,大表不常收集统计信息就容易爆发谓词越界。可对关键表实行按谓词查询条件分区,即按天或者按月分区可规避此问题发生。“数据库的性能问题免费主机域名有哪些”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注云技术网站,小编将为大家输出更多高质量的实用文章!
这篇文章将为大家详细讲解有关如何查看锁定的session信息脚本,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 查看当前被阻塞的对象和锁信息SELECT DISTINCT s1.inst_id BlockingInst, s…