gpt4 book ai didi

sql-server - CLR 存储过程

转载 作者:行者123 更新时间:2023-12-04 06:56:26 24 4
gpt4 key购买 nike

在 ASP.NET 应用程序中,我有少量相当复杂、经常使用的操作来对数据库执行。在这些操作中,多个表中的一个或多个需要基于对某些表的输入参数和值的逻辑评估进行更新或插入。我一直保持逻辑和数据访问的分离,所以操作目前看起来像这样:

  • 收到来自客户的请求
  • 业务层调用数据层来检索数据
    数据库
  • 业务层处理结果和
    确定要执行的操作
    执行
  • 业务层调用适当的
    数据操作
  • 响应发送给客户端

  • 如您所见,客户端一直在等待,同时向数据库发出两个单独的请求。在寻找解决方案时,我找到了 CLR 存储过程,但我不确定我是否对它们的用途有正确的想法。

    我已经编写了上面代码的替代品,特别是将步骤 2-4 放在 CLR SP 中。我的理解是 SP 将由 SQL Server 在本地执行,并导致只对服务器进行一次调用。

    我的问题基本上是,这是 CLR SP 的预期用途还是我遗漏了什么?

    我意识到这在结构上有点妥协,所以如果有更好的方法来做到这一点,我很乐意听到。

    最佳答案

    CLR procs 旨在执行高级查询处理,而存储过程确实很难做到这一点。我遇到过的情况非常少,它们会更有益。它们不适用于业务层工作,尽管您可以这样做。我不会在 CLR proc 中嵌入所有内容;分层在应用程序中非常有益。如果您需要加快代码速度,请查看可用的内存/代码分析器,它们可以帮助您识别代码中的问题点。

    如果可能,用 AJAX 回调、Web 服务等替换服务器端代码,因为这会真正加快速度(至少允许您做更多的异步工作)。

    哈。

    关于sql-server - CLR 存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2493289/

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