这里有人提到我们应该避免在MS SQL服务器中命名存储过程,如sp_XXX
因为在检查时对SQL服务器的添加时间确实存在系统sotred程序这样命名。因为所有系统存储的proc都以sp_开头。
现在我想知道在MSSQL中使用函数的情况,在查找系统函数时,像fn这样的命名函数是否需要额外的时间来使用SQL?
答案 0 :(得分:5)
不,我不这么认为。
找到以下主题:
http://bytes.com/topic/sql-server/answers/78872-udf-starting-fn_
没有。要调用系统提供的[用户定义的功能] 需要使用::,这就是SQL 服务器寻找。所有系统提供 UDF是表函数,如标量 系统功能根本不是UDF。
希望这有帮助
答案 1 :(得分:3)
对于函数并不重要,但建议 NOT 为存储过程使用 sp _ 的前缀,因为它定义了系统存储过程并可能导致额外的在MASTER数据库中查找。
sp_前缀是为系统保留的 存储过程和任何存储的 具有sp_前缀的过程将 在MASTER中导致额外的查找 数据库。还有另外一点 请注意,如果存储过程使用 同名,在用户数据库中作为系统 存储过程在master数据库中, 用户数据库中的存储过程 将永远不会作为SQL Server执行 总是先看主人 数据库并将执行该数据库 而不是用户数据库中的一个。
http://furrukhbaig.wordpress.com/2007/08/22/stored-procedures-factssheet/