使用 Python 从 Netezza 中的表列表中获取记录计数

Posted

技术标签:

【中文标题】使用 Python 从 Netezza 中的表列表中获取记录计数【英文标题】:Fetch record countr from a list of tables in Netezza using Python 【发布时间】:2018-03-05 14:39:59 【问题描述】:

我必须从数据库“TEST_DB”中以 WC_* 开头的表中获取记录计数。

目前我正在使用下面的代码来执行此操作,但是由于许多表中有数十亿条记录,因此花费的时间太长。有什么方法可以提高性能

for item in list_tables[]:    
        total_count_query="select count(*) from TEST_DB.."+item[0]+"
        cur.execute(total_count_query)
        total_record_count=cur.fetchone()[0] 
        print (item[0]," : ",total_record_count)

【问题讨论】:

请修复您的代码 - 这甚至无法远程工作。 【参考方案1】:

系统表“_V_TABLE”中有一个名为 reltuples 的列,它给出了定期收集的所有提供给统计信息的表的计数。您不必计算每个计数

total_count_query="select reltuples from "+database+".._v_table

【讨论】:

以上是关于使用 Python 从 Netezza 中的表列表中获取记录计数的主要内容,如果未能解决你的问题,请参考以下文章

Netezza 中的表和外部表有啥区别?

Netezza 从 SQL Server 加载表

从 Python 到 SQL(Aginity、Netezza)的 CREATE/DROP 调用不起作用

SAS:想知道如何将 WORK.WHATEVER 表中的数据传递到 Netezza 表中

netezza 中的表名别名

如何优化 Netezza 中的表以补充日期条件的联接