每个JDBC计算Vertica表中的行数

时间:2017-03-29 14:42:43

标签: java jdbc resultset vertica rowcount

如何知道插入Vertica 8数据库的ResultSet中的行数,知道每个ResultSet仅在使用Vertica时才转发?我试图调整最初为Oracle开发的现有软件,所以如果我能找到一种方法来避免使用调用SELECT count(*)...查询来重写所有内容,那真的会让我的生活更轻松......

2 个答案:

答案 0 :(得分:1)

我如何了解Vertica JDCB(请参阅:Vetica doc:JDBC功能支持): “游标只是前向的,不可滚动。结果集无法更新。”

因此,在到达ResultSet的末尾之前,您无法获得行数。

答案 1 :(得分:-1)

你的问题有点棘手!因为你提到“JDBC”,这说明只应监视jdbc连接的事实!

现在!关于你的问题,这可能不是你想要的。

为了让您知道查询所在的JDBC连接的位置或来源,您需要标记JDBC(良好实践),这样您就可以指向“糟糕/沉重”的用户并知道您需要的对象解释Vertica的工作原理。

  • 1- Label JDBC

enter image description here

  • 2 - 使用会话表来确定连接的来源。

选择         ss.session_id,         qp.query_type,         qp.processed_row_count,         qp.user_name     从         query_profiles qp     加入         会议ss     上         ss.session_id = qp.session_id     哪里         ss.client_label = ''     AND qp.error_code为空     AND qp.is_executing ='false'     订购         qp.processed_row_count DESC

query_profile中的列PROCESSED_ROW_COUNT显示查询返回的行数。 Vertica Doc reference

我认为这是答案的一半,但我希望它有所帮助。