MSSQL 中的命名函数(如 fn_myFuction)是否需要额外的性能

发布于 2024-10-02 07:02:17 字数 185 浏览 4 评论 0原文

这里有人提到我们应该避免在 MS SQL Server 中命名存储过程,如 sp_XXX
因为在检查时需要向 SQL Server 添加时间,确实存在这样命名的系统存储过程。因为所有系统存储过程都是以sp_开头的。

现在我想知道 MSSQL 中函数的情况,在查找系统函数时,像 fn_ 这样的命名函数是否会花费额外的 SQL 时间?

Someone here mentioned that We should avoid naming stored procedures in MS SQL server like sp_XXX
Because that taking addition time to SQL server while check does exist system sotred procedure named like that. Because all system stored procs are starting with sp_.

Now I wondering is that a case with Functions in MSSQL, Does naming functions like fn_ take additional time to SQL while looking for system functions ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

樱&纷飞 2024-10-09 07:02:17

不,我不这么认为。

找到以下线程:

http://bytes.com/topic/ sql-server/answers/78872-udf-starting-fn_

没有。要调用系统提供的[用户定义函数],您
需要使用::,所以这就是SQL
服务器寻找。全部系统提供
UDF 是表函数,作为标量
系统函数根本不是 UDF。

希望这有帮助

No, I don't think so.

Found the following thread:

http://bytes.com/topic/sql-server/answers/78872-udf-starting-fn_

No. To call a system-supplied [User Defined Function], you
need to use ::, so that is what SQL
Server looks for. All system-supplied
UDFs are table functions, as scalar
system functions are not UDFs at all.

Hope this helps

£烟消云散 2024-10-09 07:02:17

对于函数来说,这并不重要,但是建议不要对存储过程使用sp_前缀,因为它定义了系统存储过程,并且可能会导致在存储过程中进行额外的查找。主数据库。

因为sp_前缀是为系统保留的
存储过程和任何存储
具有 sp_ 前缀的过程将
导致在 MASTER 中进行额外查找
数据库。还有一点要说明的是
请注意,如果存储过程使用
与系统在用户数据库中同名
主数据库中的存储过程,
用户数据库中的存储过程
永远不会作为 SQL Server 执行
总是先看master
数据库并将执行该数据库
而不是用户数据库中的一个。

http://furrukhbaig.wordpress.com/2007/08/22/存储过程-factssheet/

http://msdn.microsoft.com /en-us/library/dd172115.aspx

For functions it does not matter, however it is recommended to NOT use a prefix of sp_ for stored procedures as it defines a system stored procedure and may cause an extra lookup in the MASTER database.

As sp_ prefix is reserved for system
stored procedure and any stored
procedure which has sp_ prefix will
cause an extra lookup in MASTER
database. There is another point to
note that if a stored procedure uses
same name, in user database as system
stored procedure in master database,
the stored procedure in user database
will never get executed as SQL Server
will always look first in master
database and will execute that one
rather one in user database.

http://furrukhbaig.wordpress.com/2007/08/22/stored-procedures-factssheet/

http://msdn.microsoft.com/en-us/library/dd172115.aspx

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文