在 Teradata 中,join 和 where 条件以及相应的 table 使用了 columns/fields 而不解析查询
In Teradata there get columns/fields used by join and where condition and respective table without parsing query
我正在尝试在 Teradata 中自动执行一些查询性能检查。
因此,作为其中的一部分,我想检查连接条件中使用的列是否是各自 table 的主索引,同样地,对于 where 条件中使用的列是否是各自 table 中的分区列。是否有任何直接的 Teradata 查询可以直接给出这个而不解析整个查询。
是的,您可以在其中查询两个 dbc 对象:
- dbc.columnsv
- 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=<>;
我正在尝试在 Teradata 中自动执行一些查询性能检查。 因此,作为其中的一部分,我想检查连接条件中使用的列是否是各自 table 的主索引,同样地,对于 where 条件中使用的列是否是各自 table 中的分区列。是否有任何直接的 Teradata 查询可以直接给出这个而不解析整个查询。
是的,您可以在其中查询两个 dbc 对象:
- dbc.columnsv
- 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=<>;