将通道用于并发数据库调用是否很好?

fro*_*rik 1 database go web

我正在开发一个带有统计页面的Web应用程序(用go编写).此页面包含几个使用数据库中的数据进行备份的图表.现在按顺序对数据库进行了几次调用.

这是一个使用通道以获得对数据库的并行调用并可能提高性能的好地方吗?无论性能提升如何 - 在这样的情况下使用通道是否被认为是好的设计?

rog*_*rog 5

频道本身不会提升效果.事实上,频道操作比函数调用要贵得多.

您应该问自己的是"我应该同时调用数据库吗?".

如果答案是"是",那么下一步应该是决定如何构建数据库客户端代码以启用它.Goroutines肯定会有特色,并且频道很可能也很有用,以便将结果数据发送到需要的地方.