gpt4 book ai didi

c# - 您应该进行多次插入调用还是传递 XML?

转载 作者:太空狗 更新时间:2023-10-30 00:20:37 25 4
gpt4 key购买 nike

我有一个帐户创建过程,基本上当用户注册时,我必须在多个表中输入条目,即用户、个人资料和地址。 User 表中将有 1 个条目,Profile 中有 1 个条目,Address 表中有 2-3 个条目。因此,最多将有 5 个条目。我的问题是我应该将此 XML 传递到我的存储过程并在其中解析它,还是应该在我的 C# 代码中创建一个事务对象,保持连接打开并在循环中一个一个地插入地址?

您如何处理这种情况?即使连接处于打开状态,进行多次调用也会降低性能吗?

最佳答案

没有冒犯,但你想多了。

收集您的信息,当您拥有所有信息时,创建一个事务并一次插入一个新行。此处不会影响性能,因为事务将是短暂的。

如果您在连接上创建事务,插入用户行,然后等待用户输入更多个人资料信息,插入,然后等待他们添加地址信息,然后插入,就会出现问题,不要这样做,这是一个不必要的长时间运行的事务,并且会产生问题。

但是,您的场景(您拥有所有数据)是对事务的正确使用,它确保您的数据完整性并且不会对您的数据库造成任何压力,并且不会 - 自己 - 造成死锁。

希望这对您有所帮助。

附言Xml 方法的缺点是增加了复杂性,您的代码需要知道 xml 的架构,您的存储过程也需要知道 Xml 架构。存储过程增加了解析 xml 的复杂性,然后插入行。对于简单的短期运行事务,我真的看不到额外复杂性的优势。

关于c# - 您应该进行多次插入调用还是传递 XML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10295326/

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