雪花围棋会话不断终止

我正在使用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时没有这个问题。

http://img4.mukewang.com/62fa0769000125a713481283.jpg

波斯汪
浏览 109回答 1
1回答

ibeautiful

DB维护连接池。池中的每个连接都将具有唯一的会话 ID。从文档中:DB 是一个数据库句柄,表示包含零个或多个基础连接的池。它可以安全地由多个goroutine同时使用。sql 包自动创建并释放连接;它还维护一个空闲连接的空闲池。有几个选项可用于绕过在连接池中循环的默认行为:使用 DB 从连接池中获取特定的 Conn 实例。康恩().该文档特别指出:在同一 Conn 上运行的查询将在同一数据库会话中运行。使用 DB 修改连接池参数。SetMaxOpenConns().我怀疑将其设置为也会获得所需的行为。但是,这引入了可伸缩性/并发性问题,这些问题首先通过具有连接池来解决。1请注意,我特别不熟悉雪花驱动程序。驱动程序可能支持其他选项。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go