我在网上读到,如果您在存储过程中使用局部变量而不是输入变量,那么存储过程就会被优化,就像使用提示“OPTIMIZE FOR UNKNOWN”一样。这到底是怎么发生的?另外,一般来说,什么是好的做法:直接使用输入变量还是创建局部变量并将输入变量分配给它们?
sql-server stored-procedures t-sql
我在网上读到,标量函数会影响性能,因为优化器无法访问标量函数的内容。由于该函数是针对每一行执行的,因此优化器是否必须每次都为函数的内容构建执行计划,或者是否在第一次访问该函数时构建该计划,然后将其用于所有其他行?
sql-server optimization functions
sql-server ×2
functions ×1
optimization ×1
stored-procedures ×1
t-sql ×1