我想要SQL Server存储过程性能帮助

时间:2010-12-29 11:49:10

标签: sql-server performance stored-procedures

我有一个存储过程

name       : sp_select 
parameters : @tablename nvarchar(max), @where nvarchar(max)

我有约。 20张桌子。

这是从每个表中选择数据的单一程序。

现在我的问题是,如果多次执行此程序会影响网络上的性能...... ??

... PLZ

3 个答案:

答案 0 :(得分:2)

这取决于您使用的是什么表格和标准。即在大型表上执行表扫描可能会给您带来麻烦,但使用索引的小查询应该没问题

出于兴趣,您为什么使用SP来执行此操作而不是正常查询?似乎是一种非常奇怪的做事方式,可能让您对SQL注入攻击持开放态度

答案 1 :(得分:1)

这取决于网络请求的数量。

您的网站上只有一个用户,然后点击20个表需要时间,但可能不是很关键。假设表格不是很大而你没有索引。

随着用户数量的增加,您可能会遇到锁定和访问资源的问题。

如果您必须为每个Web请求访问20个表,则可能是您的设计存在问题。

答案 2 :(得分:1)

简单的答案是:是的 - 它可以,但不必。

但这取决于很多因素:

  • 调用存储过程的频率。
  • 每张表中有多少条记录。
  • 每个查询返回多少条记录(和列)。
  • 如何调用实际查询(换句话说 - SQL Server可以构建查询计划)。

但是,基于存储过程的声明,我会担心性能问题 - 即使是少数用户。