我是golang的新手。我读过一些关于go例程的文章。但是我想知道它是否可以用在数据库插入操作中。我有下面的场景
1.需要在每行中插入不同类型产品的行。
例:如果我有5个产品,我需要插入它的id,name,created_at作为行。所以5个产品总共5行。下面的方法好用吗
for _, j := range items {
go func(j product_object){
obj := prepare_dto(j)
save_in_db(obj)
}(j)
}
我用和不用go func做了一次试验。
1.不使用Go函数时,平均时间复杂度为22ms
1.使用Go函数时,平均时间复杂度为427ns
上述方法对于数据库操作来说是一个好的实践吗?
1条答案
按热度按时间ffscu2ro1#
是的,你可以这么做。但是,你正在对数据库进行len(items)调用,这可能会因为太多的连接而损坏你的数据库。在for循环中插入/更新数据库几乎总是一个坏主意。我建议你只对数据库进行一次调用就进行批量插入。