我正在使用gosnowflake 1.40驅(qū)動程序。我看到我的會話在2次查詢后循環(huán),如下圖所示,相距不到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我在函數(shù)中使用以下查詢模式:result = dbSession.QueryRow(command)此會話循環(huán)模式并不理想,因為我希望能夠承擔一個角色并運行多個命令。有人可以告訴我,我可以做些什么來使雪花會議持續(xù)下去嗎?我在使用WebUI時沒有這個問題。
1 回答

ibeautiful
TA貢獻1993條經(jīng)驗 獲得超6個贊
DB
維護連接池。池中的每個連接都將具有唯一的會話 ID。從文檔中:
DB 是一個數(shù)據(jù)庫句柄,表示包含零個或多個基礎連接的池。它可以安全地由多個goroutine同時使用。
sql 包自動創(chuàng)建并釋放連接;它還維護一個空閑連接的空閑池。
有幾個選項可用于繞過在連接池中循環(huán)的默認行為:
使用 DB 從連接池中獲取特定的
Conn
實例??刀鳎ǎ?/code>
.該文檔特別指出:在同一 Conn 上運行的查詢將在同一數(shù)據(jù)庫會話中運行。
使用 DB 修改連接池參數(shù)
。SetMaxOpenConns()
.我懷疑將其設置為也會獲得所需的行為。但是,這引入了可伸縮性/并發(fā)性問題,這些問題首先通過具有連接池來解決。
1
請注意,我特別不熟悉雪花驅(qū)動程序。驅(qū)動程序可能支持其他選項。
- 1 回答
- 0 關注
- 128 瀏覽
添加回答
舉報
0/150
提交
取消