Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Teradata中,获取join和where条件使用的列/字段以及相应的表,而无需解析查询_Teradata_Query Performance - Fatal编程技术网

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

在Teradata中,获取join和where条件使用的列/字段以及相应的表,而无需解析查询,teradata,query-performance,Teradata,Query Performance,我正在尝试在Teradata中自动执行一些查询性能检查。 所以,作为其中的一部分,我想检查联接条件中使用的列是否是相应表的主索引,同样,对于where条件中使用的列,是否是相应表中的分区列。是否有任何直接的Teradata查询可以直接给出此结果,而无需解析整个查询。是的,有两个dbc对象可以查询: dbc.columnsv dbc表示 主索引信息将存储在第二个视图中,只需使用表名和数据库名进行搜索即可 分区信息存储在columnsv中,有一列具有分区列的标志值“Y” 例如: SELECT DAT

我正在尝试在Teradata中自动执行一些查询性能检查。
所以,作为其中的一部分,我想检查联接条件中使用的列是否是相应表的主索引,同样,对于where条件中使用的列,是否是相应表中的分区列。是否有任何直接的Teradata查询可以直接给出此结果,而无需解析整个查询。

是的,有两个dbc对象可以查询:

  • dbc.columnsv
  • dbc表示
  • 主索引信息将存储在第二个视图中,只需使用表名和数据库名进行搜索即可

    分区信息存储在columnsv中,有一列具有分区列的标志值“Y”

    例如:

    SELECT DATABASENAME,TABLENAME,COLUMNNAME FROM DBC.COLUMNSV WHERE PARTITIONINGCOLUMN='Y' where tablename=<> and databasename=<>;
    
    
    Select * from dbc.indicesv where tablename=<> and databasename=<>;
    
    从DBC.COLUMNSV中选择DATABASENAME、TABLENAME、COLUMNNAME,其中PARTITIONINGCOLUMN='Y',其中TABLENAME=和DATABASENAME=;
    从dbc.indicesv中选择*,其中tablename=和databasename=;