【OceanBase诊断调优】—— 如何缩短OceanBase 数据库执行 count(*) 的时间

本文介绍影响 OceanBase 数据库执行 count(*) 时间的因素以及缩短 count(*) 执行时间的方法。

适用版本

OceanBase 数据库所有版本

执行 count(*) 的时间

OceanBase 数据库中,执行 count(*) 的时间不仅与选择的行数,还与行的长度相关。这是由于对主表的扫描代价与行长度是相关的。

如何缩短 count(*) 的执行时间

如果您希望在更短的时间执行 count(*),可以通过以下两个方式进行规避。

  • 在查询中通过 SQL Hint 指定并行度。例如指定并行度为 16。

    obclient> SELECT /*PARALLEL(16)*/ count(*) FROM $table;
    
  • 为主表创建一个只包含一列的索引。

    例如为 $tableid 列创建索引。

    obclient> CREATE INDEX ind ON $table(id);
    
相关推荐
刘大浪9 分钟前
后端数据增删改查基于Springboot+mybatis mysql 时间根据当时时间自动填充,数据库连接查询不一致,mysql数据库连接不好用
数据库·spring boot·mybatis
无敌岩雀16 分钟前
MySQL中的索引
数据库·mysql
a_安徒生39 分钟前
linux安装TDengine
linux·数据库·tdengine
程序员学习随笔42 分钟前
PostgreSQL技术内幕19:逻辑备份工具pg_dump、pg_dumpall
数据库·postgresql
尘浮生1 小时前
Java项目实战II基于微信小程序的校运会管理系统(开发文档+数据库+源码)
java·开发语言·数据库·微信小程序·小程序·maven·intellij-idea
偶尔。5351 小时前
什么是事务?事务有哪些特性?
数据库·oracle
安迁岚1 小时前
【SQL Server】华中农业大学空间数据库实验报告 实验六 视图
数据库·sql·mysql·oracle·实验报告
xoxo-Rachel1 小时前
(超级详细!!!)解决“com.mysql.jdbc.Driver is deprecated”警告:详解与优化
java·数据库·mysql
JH30732 小时前
Oracle与MySQL中CONCAT()函数的使用差异
数据库·mysql·oracle
蓝染-惣右介2 小时前
【MyBatisPlus·最新教程】包含多个改造案例,常用注解、条件构造器、代码生成、静态工具、类型处理器、分页插件、自动填充字段
java·数据库·tomcat·mybatis