在Teradata中,获取联接所使用的列/字段以及条件和相应表,而无需解析查询

时间:2019-06-18 03:48:50

标签: teradata query-performance

我正在尝试自动对Teradata中的查询进行一些性能检查。 因此,作为我的一部分,我想检查联接条件中使用的列是否是各个表的主索引,并且类似地,对于条件用作各个表中的分区列的列也是如此。是否有任何直接的Teradata查询可以直接提供此查询而无需解析整个查询。

1 个答案:

答案 0 :(得分:0)

是的,您可以在其中查询两个dbc对象:

  1. dbc.columnsv
  2. dbc.indicesv。

仅使用表名和数据库名进行搜索,主索引信息将存储在第二个视图中。

分区信息存储在columnsv中,其中一列的分区值标记为“ Y”。

示例:

SELECT DATABASENAME,TABLENAME,COLUMNNAME FROM DBC.COLUMNSV WHERE PARTITIONINGCOLUMN='Y' where tablename=<> and databasename=<>;


Select * from dbc.indicesv where tablename=<> and databasename=<>;