查询大型机 DB2 Z/OS 表的特定分区

问题描述 投票:0回答:2

我正在使用大型机 DB2 表 Customer_Details。

Owner : GMMOM
Columns : Name,EmployeeNo,Salary,Age

现在,我有一些与分区表相关的问题。

  1. 如何判断表是否分区?

  2. 如何查看表的分区数?

  3. 如何编写查询以通过提供分区名称或编号引用来从特定分区检索数据?

  4. 从特定分区查询数据还有哪些其他方法?

感谢大家的支持。谢谢

db2 partitioning mainframe database-partitioning db2-zos
2个回答
0
投票

如何判断表是否分区?

您可以从 DB2 目录中检索此信息。 此信息与编写查询无关。 有关 DB2 目录的结构,请参阅 IBM 文档。

如何查看表的分区数?

您可以从 DB2 目录中检索此信息。 此信息与编写查询无关。 有关 DB2 目录的结构,请参阅 IBM 文档。

如何编写查询以通过以下方式从特定分区检索数据 提供分区名称或编号参考吗?

你不知道。 表分区与编写查询无关。 DBMS 负责查找查询的 WHERE 子句中指定的数据。

从特定分区查询数据还有哪些其他方法?

没有。 表分区与编写查询无关。 DBMS 负责查找查询的 WHERE 子句中指定的数据。

如果您的目标是提高查询性能,请查看 WHERE 子句和/或咨询您的 DBA。


0
投票

如何判断表是否分区?

SELECT 
  TABLE_NAME, 
  TABLE_SCHEMA, 
  PARTITION_TABLE 
FROM 
  QSYS2.SYSTABLES
WHERE 
  TABLE_SCHEMA = 'YOUR_SCHEMA' 
  AND
  TABLE_NAME = 'YOUR_TABLE';

如何查看表的分区数?

SELECT 
  count(*) as NUM_PARTITIONS
FROM 
  QSYS2.SYSPARTITIONDISK
WHERE 
  TABLE_SCHEMA = 'YOUR_SCHEMA' 
  AND
  TABLE_NAME = 'YOUR_TABLE';

如何编写查询以通过提供分区名称或编号引用来从特定分区检索数据?

SELECT A.*
FROM YOUR_TABLE A
WHERE DATAPARTITIONNAME(A) = 'PARTITION_NAME';
© www.soinside.com 2019 - 2024. All rights reserved.