使用 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 中的表列表中获取记录计数的主要内容,如果未能解决你的问题,请参考以下文章
从 Python 到 SQL(Aginity、Netezza)的 CREATE/DROP 调用不起作用