每 JDBC 计算 Vertica table 中的行数
Counting rows in Vertica table per JDBC
我如何知道插入 Vertica 8 数据库的 ResultSet 中的行数,知道每个 ResultSet 仅在使用 Vertica 时转发?我正在尝试改编最初为 Oracle 开发的现有软件,所以如果我能找到一种方法来避免使用调用 SELECT count(*)...
查询来重写所有内容,那真的会让我的生活更轻松...
你的问题有点棘手!因为您提到了 "JDBC",这说明只有 jdbc 个连接应该被监控!
现在!关于你的问题,这可能不是你要找的。
为了让您知道您的查询来自何处或来自哪个 JDBC 连接,您需要标记您的 JDBC(良好做法),这样您就可以指向您的 "bad/heavy" 用户,并且知道您需要向谁解释 Vertica 的工作原理。
- 1-标签JDBC
- 2 - 使用 会话 table 确定连接的来源。
SELECT
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=''
并且 qp.error_code 为空
和 qp.is_executing='false'
订购方式
qp.processed_row_count描述
query_profile 中的列 PROCESSED_ROW_COUNT 显示查询返回的行数。
Vertica Doc reference
我认为这是一半的答案,但我希望它有所帮助。
我是如何知道 Vertica JDBC 的(请参阅:Vertica 文档:JDBC 功能支持):
"Cursors are forward only and are not scrollable. Result sets cannot be updated."
因此,在到达 ResultSet 的末尾之前,您无法获取行数。
我如何知道插入 Vertica 8 数据库的 ResultSet 中的行数,知道每个 ResultSet 仅在使用 Vertica 时转发?我正在尝试改编最初为 Oracle 开发的现有软件,所以如果我能找到一种方法来避免使用调用 SELECT count(*)...
查询来重写所有内容,那真的会让我的生活更轻松...
你的问题有点棘手!因为您提到了 "JDBC",这说明只有 jdbc 个连接应该被监控!
现在!关于你的问题,这可能不是你要找的。
为了让您知道您的查询来自何处或来自哪个 JDBC 连接,您需要标记您的 JDBC(良好做法),这样您就可以指向您的 "bad/heavy" 用户,并且知道您需要向谁解释 Vertica 的工作原理。
- 1-标签JDBC
- 2 - 使用 会话 table 确定连接的来源。
SELECT 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='' 并且 qp.error_code 为空 和 qp.is_executing='false' 订购方式 qp.processed_row_count描述
query_profile 中的列 PROCESSED_ROW_COUNT 显示查询返回的行数。 Vertica Doc reference
我认为这是一半的答案,但我希望它有所帮助。
我是如何知道 Vertica JDBC 的(请参阅:Vertica 文档:JDBC 功能支持): "Cursors are forward only and are not scrollable. Result sets cannot be updated."
因此,在到达 ResultSet 的末尾之前,您无法获取行数。