为了账号安全,请及时绑定邮箱和手机立即绑定

雪花围棋会话不断终止

雪花围棋会话不断终止

Go
波斯汪 2022-08-15 16:43:59
我正在使用gosnowflake 1.40驱动程序。我看到我的会话在2次查询后循环,如下图所示,相距不到1秒。连接设置如下所示:dsn, err := sf.DSN(sfConfig)    if err != nil {        panic("cannot get snowflake session: " + err.Error())    }    DBSession, err = sql.Open("snowflake", dsn)    if err != nil {        panic("cannot get snowflake session: " + err.Error())    }    return DBSession, nil我在函数中使用以下查询模式:result = dbSession.QueryRow(command)此会话循环模式并不理想,因为我希望能够承担一个角色并运行多个命令。有人可以告诉我,我可以做些什么来使雪花会议持续下去吗?我在使用WebUI时没有这个问题。
查看完整描述

1 回答

?
ibeautiful

TA贡献1993条经验 获得超5个赞

DB维护连接池。池中的每个连接都将具有唯一的会话 ID。从文档中

DB 是一个数据库句柄,表示包含零个或多个基础连接的池。它可以安全地由多个goroutine同时使用。

sql 包自动创建并释放连接;它还维护一个空闲连接的空闲池。

有几个选项可用于绕过在连接池中循环的默认行为:

  1. 使用 DB 从连接池中获取特定的 Conn 实例。康恩().该文档特别指出:

    在同一 Conn 上运行的查询将在同一数据库会话中运行。

  2. 使用 DB 修改连接池参数。SetMaxOpenConns().

    我怀疑将其设置为也会获得所需的行为。但是,这引入了可伸缩性/并发性问题,这些问题首先通过具有连接池来解决。1

请注意,我特别不熟悉雪花驱动程序。驱动程序可能支持其他选项。


查看完整回答
反对 回复 2022-08-15
  • 1 回答
  • 0 关注
  • 107 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信