You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过代码查询SQL表的分区总数量

表分区总数量代码查询方法

以下是不同数据库场景下的对应实现方案:

MySQL / MariaDB

  • 执行查询前将your_database_name、your_table_name替换为实际的库名、表名:
SELECT COUNT(*) AS partition_count
FROM information_schema.PARTITIONS
WHERE TABLE_SCHEMA = 'your_database_name' 
  AND TABLE_NAME = 'your_table_name'
  AND PARTITION_NAME IS NOT NULL;

PostgreSQL

  • 针对原生分区表执行以下查询,替换占位符为实际表名:
SELECT COUNT(*) AS partition_count
FROM pg_inherits
JOIN pg_class parent ON pg_inherits.inhparent = parent.oid
JOIN pg_class child ON pg_inherits.inhrelid = child.oid
WHERE parent.relname = 'your_table_name'
  AND parent.relkind = 'p';

Oracle

  • 普通用户查询自有表分区数执行以下语句,表名需大写,DBA可替换USER_TAB_PARTITIONS为DBA_TAB_PARTITIONS查询全库范围的表:
SELECT COUNT(*) AS partition_count
FROM USER_TAB_PARTITIONS
WHERE TABLE_NAME = 'YOUR_TABLE_NAME';

Hive / Spark SQL

  • SQL查询方式:
SELECT COUNT(*) AS partition_count FROM (
  SHOW PARTITIONS your_table_name
);
  • PySpark代码获取方式:
from pyspark.sql import SparkSession
spark = SparkSession.builder.appName("test").getOrCreate()
partition_count = len(spark.table("your_db.your_table").rdd.getNumPartitions())

所有场景下的查询结果和「表属性 > 存储」路径下展示的分区数完全一致,本质都是读取数据库系统元数据表的统计结果。

内容的提问来源于stack exchange,提问作者impo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 14:36:00