新手想请教一个协程批处理任务的问题

jayxtt999 · · 1864 次点击
这段程序是一条一条的处理的逻辑,速度肯定相比于多goroutine是慢的多了。阻塞在channel没有缓存。 1、数据检索可以批量检索出来,一次检索5000条都没问题,放到内存中肯定比多次去数据库里检索来的快。 2、既然用了channel,就用带有缓存的来处理,make(chan ItemData, 500),如果内存足够大,设置5000个都没问题;
#4
更多评论
```go ch<-item ResData = append(ResData,<- ch) ``` 这是个无缓存的chan,必须发送/接受结束才会下一步。 可以带个缓存试试。若要存储执行结果,可以用sync.map。
#1
绝大部分时间在数据库查询上
#2