【发布时间】:2011-05-24 01:24:02
【问题描述】:
我有搜索存储过程,这是我的性能瓶颈。
为了控制所发生的事情,我在 SP 中添加了所有参数的日志记录以及执行时间。
我注意到,当我从 MIcrosoft SQL server management Studio 调用 SP 时,执行时间是 1.3-1.6 秒,但是当我从 C# 调用它时,需要 6-8 秒(!!!)
Parameters | Time (ms)
"tb *"TreeType:259Parents:212fL:13;14fV:0;lcid:2057min:0max:10sort:-1 | 6406
"tb *"TreeType:259Parents:212fL:13;14fV:0;lcid:2057min:0max:10sort:-1 | 1346
SP 是用 LINQ 调用的。登录设置相同。 SP使用全文搜索
这是什么原因造成的?
【问题讨论】:
-
我不确定 Microsoft SQL 缓存系统。尝试从管理工作室运行存储过程,然后从 C# 运行。结果会与当前不同吗?
-
@Anton:我可以得到相同的结果,而不取决于调用顺序。实际上,这个列表是按 id desc 排序的,所以最近的请求是最后的。
-
您是否尝试使用
SqlCommand而不是 LINQ?您可以另外使用Prepare方法。您使用本地 SQL Server 吗?存储过程返回什么数据?
标签: linq performance tsql