Snowflake cloud data platform 在事务下执行的查询

Snowflake cloud data platform 在事务下执行的查询,snowflake-cloud-data-platform,Snowflake Cloud Data Platform,我们使用python雪花连接器来执行查询。我们最近进行了代码更改,以封装在单个事务下执行的少量查询。作为测试的一部分,我们希望确保这些查询都在单个事务下执行。我们在“历史记录”选项卡下进行了检查。我们只看到查询id、sql文本、会话id和其他非事务性详细信息 有没有办法知道事务下执行的查询列表?谢谢 没有任何东西可以提供交易信息。此时,您最好自己记录信息。没有任何东西可以提供交易信息。此时您最好自己记录信息。如果您使用的是python连接器,则可以利用query_标记在会话中“标记”事务。您只需

我们使用python雪花连接器来执行查询。我们最近进行了代码更改,以封装在单个事务下执行的少量查询。作为测试的一部分,我们希望确保这些查询都在单个事务下执行。我们在“历史记录”选项卡下进行了检查。我们只看到查询id、sql文本、会话id和其他非事务性详细信息


有没有办法知道事务下执行的查询列表?谢谢

没有任何东西可以提供交易信息。此时,您最好自己记录信息。

没有任何东西可以提供交易信息。此时您最好自己记录信息。

如果您使用的是python连接器,则可以利用query_标记在会话中“标记”事务。您只需要在事务开始和结束时设置值。这将允许您在查询历史记录中查询特定的查询标记,或者分组语句以报告持续时间或其他属性


如果您使用的是python连接器,则可以利用query_标记在会话中“标记”事务。您只需要在事务开始和结束时设置值。这将允许您在查询历史记录中查询特定的查询标记,或者分组语句以报告持续时间或其他属性


您只需确保查询在同一会话中运行,并且在第一次查询中发出
begin
语句即可启动事务

完成后,可以运行
select current_transaction()
并将其打印到python脚本开头和结尾的屏幕上,以调试检查事务ID是否相同


或者,您应该能够使用Snowflake文档中的python上下文管理器来管理事务。只需确保您设置了连接参数
autocommit=False

,您只需确保查询在同一会话中运行,并且您已经通过在第一个查询中发出
begin
语句启动了事务

完成后,可以运行
select current_transaction()
并将其打印到python脚本开头和结尾的屏幕上,以调试检查事务ID是否相同


或者,您应该能够使用Snowflake文档中的python上下文管理器来管理事务。只需确保您设置了连接参数
autocommit=False

,这有帮助吗?这有用吗?但是query_标记是会话级别的参数,一个会话可以有多个事务。是吗?是的,但不是同时。一个会话一次只能运行一个查询,因此只要在每个事务开始时设置会话参数,它将仅在该会话的语句上被标记。但是query_标记是会话级别的参数,并且一个会话可以有多个事务。是吗?是的,但不是同时。一个会话一次只能运行一个查询,因此只要在每个事务开始时设置会话参数,它就只会被标记在该会话的语句上。我已经通读了文档,但对我来说不太明显。当您使用上下文管理器时,会打开与Snowflake的连接。您运行的第一条语句开始事务——我刚刚测试了这个问题,它在AUTCOMIT=False时运行良好。我很好奇,当您使用python上下文管理器时,究竟是什么标记了事务的开始。我已经通读了文档,但对我来说不太明显。当您使用上下文管理器时,会打开与Snowflake的连接。您运行的第一条语句开始事务——我刚刚测试了这个语句,它在AUTCOMIT=False时运行良好。