gpt4 book ai didi

stored-procedures - 存储过程应该是多的还是集中的?

转载 作者:行者123 更新时间:2023-12-04 07:44:22 25 4
gpt4 key购买 nike

您的存储过程应该有多通用?它们应该被视为“一击”还是反射(reflect)更普遍的用途?考虑以下情况:

1.

  • 查找用户(用户名,...)

    存储过程返回用户id给调用者

  • FindItem(项目名称, ...)

    存储过程将项目 ID 返回给调用者

  • AddOrder(userid, itemid, ...)

    然后可以将返回的 id 传递给第三个存储过程

2.

  • 添加订单(用户名,商品名,...)

在这里,id 的查找是在存储过程中完成的

是否有首选/推荐的方式?谢谢你的想法。

最佳答案

不要误以为必须管理/维护许多简单的过程比管理/维护一些复杂的过程更困难。我总是发现,每当我们试图让一个过程做多件事而不是专注于一件事情时,调试和测试它就会变得非常困难。

你说“存储过程应该多还是集中?”,我认为这是一个不正确的比较。

如果您有很多存储过程,那么它们会更加集中,因为它们会更小并且做的事情更少。也许您真的想问“许多集中的存储过程,还是更少的更广泛的存储过程?”

还应该使用诸如 db ghost 等工具来对存储过程代码(和模式)进行源代码控制,这样您就可以像对待任何其他代码一样对待它。有了这个,许多较小程序的管理就更容易了。

这实际上只是将关注点分离的核心良好设计实践应用于您的“数据库代码”以及所有其他代码。

正如另一个答案所说,我喜欢使用存储过程来“处理”您的数据,尽可能靠近数据库,例如在报告过程中。这是由于性能原因,即让数据库做它擅长的事情。

然而,当涉及到许多其他类型的“业务逻辑”时,我们通常会尝试将其排除在存储过程之外,并在我们拥有更好的调试和测试工具的普通代码中。

关于stored-procedures - 存储过程应该是多的还是集中的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1458746/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com