当查询从文件中合并时,row_produced 计数在雪花 query_history 视图中代表啥
Posted
技术标签:
【中文标题】当查询从文件中合并时,row_produced 计数在雪花 query_history 视图中代表啥【英文标题】:What does row_produced count represent in snowflake query_history view when query is MERGE from file当查询从文件中合并时,row_produced 计数在雪花 query_history 视图中代表什么 【发布时间】:2020-05-18 08:45:29 【问题描述】:我正在执行 MERGE 查询以执行 CDC 操作。我有一个目标表,其中包含大约 5000 万条记录,而作为 MERGE 源的传入文件包含 230 条记录。文件数据中的表 ID 和 id 列有简单的连接。执行后,History 视图显示插入的记录 200 和更新的记录 30。但是它显示 rows_produced 为 5K。在这种情况下,我需要了解 rows_produced 是什么。它是否显示作为 join 的一部分返回的行?如果是,那么它应该匹配文件的行数。
【问题讨论】:
【参考方案1】:我相信 rows_produced 是写出底层微分区时创建的记录总数。
例如,如果您更新了 1 条记录,您实际上是在重新创建该 1 条记录所在的整个数据微分区(微分区是不可变的,因此永远不会更新)。如果该 1 条记录存在于包含 100 条记录的微分区中,那么您将获得更新了 1 条记录的输出,但输出为 100 rows_produced
。
此信息“有趣”,但在尝试确保您的 MERGE
语句的正确结果时没有帮助。使用 MERGE
的插入、更新和删除输出是正确的查看方式。
【讨论】:
谢谢迈克。这有助于澄清有关 rows_produced 列的混淆。是否可以在历史视图中显示 rows_inserted、rows_updated 和 rows_deleted,以便我们在查看查询时可以快速看到它,而不是从 query_history 或表函数中找到相同的信息以上是关于当查询从文件中合并时,row_produced 计数在雪花 query_history 视图中代表啥的主要内容,如果未能解决你的问题,请参考以下文章
将数据从 Access 中的表单传递到 Word 中的邮件合并
当总计为正数时将订单计为“订单”,但当总计为负数时计为“退货”