首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在并行模式下使用同一事务运行多个查询是不是一种糟糕的做法?

问在并行模式下使用同一事务运行多个查询是不是一种糟糕的做法?
EN

Stack Overflow用户
提问于 2019-06-11 17:38:16
回答 1查看 70关注 0票数 0

我使用Promise.all()对具有相同事务的MySQL数据库执行许多查询,因此所有查询都是并行执行的,如果发生任何不好的事情,我会回滚该事务。但一位朋友说,并行运行查询是一种糟糕的做法,因为如果查询失败,事务回滚,将会有其他查询仍在MySQL中运行,这些查询使用相同的事务,如果它们没有找到事务,它们将在MySQL本身中查找错误。

他建议按顺序执行查询,这样如果发生了不好的事情,事务将回滚,下一个查询将不会执行。我试图找到关于这个问题的一些证据,但我找不到任何证据,或者如果存在的话,我错过了一些证据。

希望有人能为我提供一个明确的答案或参考资料,并在高级感谢。

EN

回答 1

Stack Overflow用户

发布于 2019-06-11 19:11:41

如上所述,Promise.all()方法here等待所有承诺的解析,如果只有一个承诺被拒绝,它也将拒绝。所以问题是1.传递给promise.all()的所有方法都返回promise,还是它们都在使用回调函数? 2.这些方法中的哪一个首先运行很重要吗?因为promise.all() doesn't care in what order they resolve 3.有多少方法返回reject很重要吗?因为promise.all()会在第一次拒绝时拒绝。此外,如果您将此方法用于MySQL等,有时您的对象关系映射可能会以某种方式处理,但会被拒绝。因此,我个人同意你的朋友们的观点,因为这种方法很难控制,但也许可以找到它的用途:)

PS:希望其他贡献者能帮助我解决我遗漏的其他问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56540750

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档