现在我的工作流程是这样的:
现在,在每次获取update之后,我都要执行一个API,但是可以想象,这并不是最优化的方法。
我还有别的选择吗?
发布于 2017-09-06 20:28:34
该代码中的瓶颈可能是从API获取数据。此技巧只允许更快地向DB发送许多小查询,而无需等待每次更新之间的往返时间。
要在单个查询中执行多个更新,可以使用公共表表达式并将多个小查询打包到单个CTE查询:
https://runkit.com/embed/uyx5f6vumxfy
knex
.with('firstUpdate', knex.raw('?', [knex('table').update({ colName: 'foo' }).where('id', 1)]))
.with('secondUpdate', knex.raw('?', [knex('table').update({ colName: 'bar' }).where('id', 2)]))
.select(1)knex.raw技巧--有一个解决办法,因为.with(string, function)实现有一个bug。
https://stackoverflow.com/questions/46069822
复制相似问题