【YashanDB知识库】表收集统计信息默认阈值引起SQL执行效率差

【问题分类】性能优化

【关键字】统计信息,阈值,执行计划

【问题描述】表新增87w数据自动收集统计信息任务没有启动导致SQL执行计划变差

【问题原因分析】

  • CUS_REGISTER_READ 数据总量是18374074,插入81万,统计信息失效的阈值是insert+delete+update超过所有行数的10%,没有达到统计信息收集的阈值,不会做收集。

  • 统计信息没有失效,为什么插入81万的数据前后给出的执行计划不一样?由于数据库缺乏查看历史执行计划的视图,该问题并不能精准回复。

【解决/规避方法】

  • 对于大表需要合理设置统计信息收集的阈值

  • 获取SQL执行计划历史变更功能,已提相关需求

新引入需要注意的问题:
GATHER_DATABASE_STATS('GATHER AUTO', 0, 8, 'FOR ALL COLUMNS SIZE AUTO', 'AUTO', TRUE, TRUE)
倒数第3个参数是AUTO,在客户场景分区表(100+个分区),会比较慢。

【影响范围】严重降低SQL执行效率

【修复版本】23.2补丁版本

相关推荐

  1. Oracle统计信息收集维护

    2024-07-13 21:20:04       47 阅读
  2. AOP统计SQl执行时间

    2024-07-13 21:20:04       22 阅读
  3. 如何提高sql执行效率

    2024-07-13 21:20:04       47 阅读
  4. YashanDB练习SQL

    2024-07-13 21:20:04       44 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-13 21:20:04       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-13 21:20:04       71 阅读
  3. 在Django里面运行非项目文件

    2024-07-13 21:20:04       58 阅读
  4. Python语言-面向对象

    2024-07-13 21:20:04       69 阅读

热门阅读

  1. Kylin的智能优化:Cube自动优化的奥秘

    2024-07-13 21:20:04       18 阅读
  2. ES证书过期替换方案

    2024-07-13 21:20:04       24 阅读
  3. 深度学习调参

    2024-07-13 21:20:04       18 阅读
  4. 算法练习第29天|1005.K次取反后最大化的数组和

    2024-07-13 21:20:04       16 阅读
  5. C++ STL sort用法

    2024-07-13 21:20:04       19 阅读
  6. 什么是稀疏化

    2024-07-13 21:20:04       17 阅读
  7. centos清空history

    2024-07-13 21:20:04       12 阅读
  8. 宪法学学习笔记(个人向) Part.5

    2024-07-13 21:20:04       18 阅读
  9. C++《日期》实现

    2024-07-13 21:20:04       19 阅读
  10. 151. Reverse Words in a String

    2024-07-13 21:20:04       19 阅读