gpt4 book ai didi

sql - 用户定义的函数 - 它们是糟糕的编码实践吗?

转载 作者:行者123 更新时间:2023-12-04 20:54:30 26 4
gpt4 key购买 nike

我正在编写具有相当复杂的数据集和大量连接的报告。为了简化问题,并且因为我基本上是一个面向对象的开发人员,我一直在编写很少的(通常是标量)函数来完成可以通过加入子查询来完成的工作。这种事情:

SELECT 
x.Name, x.userId,
... [more columns and joins]
dbo.CountOrders(x.userId)
FROM Customers x
WHERE ...

这是好的做法吗?马虎?减缓?我应该编写常规的 T-SQL 来做这些事情吗?

最佳答案

我几乎永远不会有一个进行数据访问的标量 UDF。

标量 UDF 无法被优化器扩展,需要评估 RBAR。众所周知,这不是一个好主意。

一些例子阅读。

  • TSQL Scalar functions are evil.
  • Scalar functions, inlining, and performance: An entertaining title for a boring post
  • Higly Voted Connect Item
  • 关于sql - 用户定义的函数 - 它们是糟糕的编码实践吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6118577/

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