我在Golang中有RESTFUL Web服务,并且正在使用SQL的数据库驱动程序。我的问题是我应该使用带有上下文作为参数的SQL函数还是不使用它?例如,有QueryContext
和Query
方法。
实际上,我确实知道Go中的上下文是什么,我只是不知道为什么要将其发送到数据库方法。
答案 0 :(得分:2)
Context
感知方法允许可取消的查询执行。
处理取消的方式是特定于驱动程序的,但是即使驱动程序不直接支持获取上下文,在关闭上下文时也应关闭以上下文启动的任何查询。
这应该有助于潜在的连接泄漏和查询特定的超时。