【问题分类】性能优化

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

【问题描述】表新增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补丁版本

【YashanDB知识库】表收集统计信息默认阈值引起SQL执行效率差的更多相关文章

  1. 无法收集统计信息,怎样优化SQL。

    特殊情况如下 客户的统计信息是固定的,没办法收集统计信息 . SQL profile 是最后考虑方案,因为同样写法sql 比较多,几十条. Parallle 并行客户一般不考虑接受,OLTP 系统. ...

  2. Oracle 判断 并 手动收集 统计信息 脚本

    CREATE OR REPLACE PROCEDURE SchameB.PRC_GATHER_STATS AUTHID CURRENT_USER IS BEGIN SYS.DBMS_STATS.GAT ...

  3. ORACLE收集统计信息

    1.     理解什么是统计信息 优化器统计信息就是一个更加详细描述数据库和数据库对象的集合,这些统计信息被用于查询优化器,让其为每条SQL语句选择最佳的执行计划.优化器统计信息包括: ·       ...

  4. ORACLE 收集统计信息

    1.     理解什么是统计信息优化器统计信息就是一个更加详细描述数据库和数据库对象的集合,这些统计信息被用于查询优化器,让其为每条SQL语句选择最佳的执行计划.优化器统计信息包括: ·        ...

  5. 收集统计信息让SQL走正确的执行计划

    数据库环境:SQL SERVER 2005 今天在生产库里抓到一条跑得慢的SQL,语句不是很复杂,返回的数据才有800多行, 却执行了34分钟,甚至更久. 先看一下执行结果 我贴一下SQL. SELE ...

  6. impala系列: 同步Hive元数据和收集统计信息

    ---====================-- Impala 获取hive 的 metadata ---====================Impala 通常和Hive共用同一个metadat ...

  7. Oracle重建表索引及手工收集统计信息

    Oracle重建所有表的索引的sql: SELECT 'alter index ' || INDEX_NAME || ' rebuild online nologging;' FROM USER_IN ...

  8. Oracle收集对表收集统计信息导致全表扫描直接路径读?

    direct path read深入解析 前言 最近碰到一件很奇葩的事情,因为某条SQL执行缓慢,原因是走了笛卡尔(两组大数据结果集),而且笛卡尔还是NL的一个部分,要循环31M次. 很容易发现是统计 ...

  9. 使用DBMS_STATS来收集统计信息【转】

    overview Oracle's cost-based optimizer (COB) uses statistics to calculate the selectivity (the fract ...

  10. Oracle 手动收集统计信息

    收集oracle统计信息 优化器统计范围: 表统计: --行数,块数,行平均长度:all_tables:NUM_ROWS,BLOCKS,AVG_ROW_LEN: 列统计: --列中唯一值的数量(NDV ...

随机推荐

  1. 常用 Java 组件和框架分类

    WEB 容器 Tomcat https://tomcat.apache.org/ Jetty https://www.jetty.com/ JBoss https://www.jboss.org/ R ...

  2. [大数据][机器学习]之Model Card(模型卡片)介绍

    每当我们在公有云或者私有云发布训练好的大数据模型,为了方便大家辨识.理解和运用,参照huggingface所制定的标准制作一个Model Card展示页,是种非常好的模型展示和组织形式. 下面就是一个 ...

  3. 机器学习策略篇:详解如何使用来自不同分布的数据,进行训练和测试(Training and testing on different distributions)

    如何使用来自不同分布的数据,进行训练和测试 深度学习算法对训练数据的胃口很大,当收集到足够多带标签的数据构成训练集时,算法效果最好,这导致很多团队用尽一切办法收集数据,然后把它们堆到训练集里,让训练的 ...

  4. influxdb得导出与导入

    转载请注明出处: 1.备份元数据 基本语法: influxd backup <path-to-backup> 备份元数据,没有任何其他参数,备份将只转移当前状态的系统元数据到path-to ...

  5. Vue2 移动端 ui库 MintUI

    MintUI MintUI是饿了么团队开发的基于移动端的vue组件库.用于搭建移动端界面. http://mint-ui.github.io/docs/#/zh-cn2

  6. JMeter 后置处理器之JSON提取器

    后置处理器之JSON提取器 By:授客 QQ:1033553122 测试环境 JMeter 5.4.1 插件介绍 JSON后置处理器(PostProcessor)允许使用 JSON Path 语法从J ...

  7. Python异常处理try+except用法

    1.except是用来捕获程序异常的 异常代码如: ModuleNotFoundError(没有找到模块,安装提示的模块即可) AttributeError(没有访问属性) TypeError(类型错 ...

  8. canvas实现截图功能

    开篇 最近在做一个图片截图的功能. 因为工作时间很紧张, 当时是使用的是一个截图插件. 周末两天无所事事,来写一个简单版本的截图功能. 因为写的比较简单,如果写的不好,求大佬轻一点喷 读取图片并获取图 ...

  9. 植物大战僵尸杂交版v2.1整合包全解锁+高清工具

    植物大战僵尸杂交版v2.1整合包全解锁+高清工具   引言 <植物大战僵尸>作为一款经典的塔防游戏,自2009年发布以来,就以其独特的游戏机制和幽默的风格赢得了全球玩家的喜爱.随着游戏的不 ...

  10. 全地形人形机器人(humanoid)是否只能进行短距视野感知呢 —— 实时地形感知

    相关: https://capital.lenovo.com/news/detail/id/924/s/1.html 常见的人形机器人都是测试其手臂灵活度为主,但是近日看到一款以全地形步态行走为主的机 ...