使我的存储过程更加高效
我已经为选择查询创建了一个存储过程,并且运行良好。 但我需要一些更有效的东西来进行 SP 查询。 您对此有什么建议吗?
Create Procedure usp_SelectUserProfile
@UserId int
As
Begin
Select <column name> from DB where UserId = @UserId
End
谢谢
I have already created a stored procedure for Select Query and it is working Fine.
But I need some thing more efficient to make my SP Query.
Have you any suggestion for that.
Create Procedure usp_SelectUserProfile
@UserId int
As
Begin
Select <column name> from DB where UserId = @UserId
End
Thnx
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我在这里唯一能想象的是:
在具有许多调用的小程序上,抑制向客户端发送受影响的行数可以节省高达 17% 的调用时间
The only thing i can imagine here is:
Suppresses sending the amount of affected rows to client, on small procedures with many calls can save you up to 17% of call time
您可以使用
SET NOCOUNT ON
阅读此内容以获取更多详细信息http ://msdn.microsoft.com/en-us/library/ms189837.aspx
you can use
SET NOCOUNT ON
read this for more details http://msdn.microsoft.com/en-us/library/ms189837.aspx
(UserID) INCLUDE ()
上创建新索引Select;来自 dbo.MyTable,其中 UserId = @UserId
。也可以在存储过程上使用它。如果没有这个,您将阻止计划重复使用UserId
和@UserId
列的数据类型和长度相同,以避免数据类型优先级和隐式转换(UserID) INCLUDE (<column name>)
Select <column name> from dbo.MyTable where UserId = @UserId
. Also use this on the stored procedure too. Without this, you'll prevent plan re-useUserId
and@UserId
are identical to avoid datatype precedence and implicit conversions