【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);
    
相关推荐
2301_7869643610 分钟前
创建一个Django用户认证系统
数据库·django·sqlite
eclipsercp31 分钟前
《每天5分钟用Flask搭建一个管理系统》 第6章:数据库集成
数据库·python·flask
TNTLWT1 小时前
MySQL:数据类型
数据库·mysql
l v e1 小时前
gbase8s数据库中根据系统表查看锁的现状和锁资源的监控(包括了两个onstat -g的关键命令和锁的查看演示)
数据库·sql·gbase8s
李长安的博客1 小时前
Oracle PL / SQL 表 table
数据库·sql·oracle
svygh1232 小时前
django带了一个权限系统
数据库·python·django·sqlite
字节跳动数据平台2 小时前
3个企业级最佳实践,教你ByteHouse云数仓这么用
大数据·数据库·云原生
冯诺依曼转世2 小时前
JDBC1(JDBC相关类与接口 连接mysql数据库 测试 不同数据库厂商实现-MySQL和Oracle)
开发语言·数据库·笔记·学习·mysql·oracle
阳爱铭2 小时前
深度分析 Apache Hudi:大数据实时处理的利器
大数据·数据库·数据仓库·分布式·apache·数据库开发·数据库架构
0cfjg02 小时前
MQ:RabbitMQ
java·开发语言·数据库