使我的存储过程更加高效

发布于 2024-12-24 01:41:30 字数 234 浏览 0 评论 0原文

我已经为选择查询创建了一个存储过程,并且运行良好。 但我需要一些更有效的东西来进行 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 技术交流群。

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

发布评论

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

评论(3

江湖正好 2024-12-31 01:41:30

我在这里唯一能想象的是:

Create Procedure usp_SelectUserProfile
    @UserId int
As
Begin
     SET NOCOUNT ON;
     Select <column name> from DB where UserId = @UserId
End

在具有许多调用的小程序上,抑制向客户端发送受影响的行数可以节省高达 17% 的调用时间

The only thing i can imagine here is:

Create Procedure usp_SelectUserProfile
    @UserId int
As
Begin
     SET NOCOUNT ON;
     Select <column name> from DB where UserId = @UserId
End

Suppresses sending the amount of affected rows to client, on small procedures with many calls can save you up to 17% of call time

水水月牙 2024-12-31 01:41:30

您可以使用SET NOCOUNT ON

Create Procedure usp_SelectUserProfile
@UserId int
As
Begin
 SET NOCOUNT ON
 Select <column name> from DB where UserId = @UserId
End

阅读此内容以获取更多详细信息http ://msdn.microsoft.com/en-us/library/ms189837.aspx

you can use SET NOCOUNT ON

Create Procedure usp_SelectUserProfile
@UserId int
As
Begin
 SET NOCOUNT ON
 Select <column name> from DB where UserId = @UserId
End

read this for more details http://msdn.microsoft.com/en-us/library/ms189837.aspx

我做我的改变 2024-12-31 01:41:30
  1. 如果 UserID 不是主键,则在 (UserID) INCLUDE () 上创建新索引
  2. 使用架构限定所有对象引用 Select;来自 dbo.MyTable,其中 UserId = @UserId。也可以在存储过程上使用它。如果没有这个,您将阻止计划重复使用
  3. 确保 UserId@UserId 列的数据类型和长度相同,以避免数据类型优先级和隐式转换
  4. 如上所述添加 SET NOCOUNT ON关于其他答案:请参阅设置 NOCOUNT ON 使用情况
  1. If UserID is not the Primary key, then create a new index on (UserID) INCLUDE (<column name>)
  2. Qualify all object references with schema Select <column name> from dbo.MyTable where UserId = @UserId. Also use this on the stored procedure too. Without this, you'll prevent plan re-use
  3. Ensure datatype and length of column UserId and @UserId are identical to avoid datatype precedence and implicit conversions
  4. Add SET NOCOUNT ON as mentioned on other answers: see SET NOCOUNT ON usage
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文