我有一个带有的C# WinForms应用程序,
我有一个包含20个列和2个缺少记录的表,有6个索引的表是聚集索引,5个是非聚集索引。
在5个索引中,3列为varchar数据类型,1列为位,1列为数字数据类型。
我的应用程序场景是
我们有两个应用程序和PC机,pc机运行不同的应用程序,并访问位于PC 1上的单个DB。
这两个应用程序都在连续运行,并命中DB的"UPDATE“记录,有时还有"SELECT”某些记录。
我们不关心update语句,但是每当应用程序点击select查询时,有时应用程序需要比正常时间更长的时间,我非常关心select语句的结果。下面是从存储过程调用的我的查询。
SELECT Count(PrimaryKey) as CNT From Tabel where Col1 ="AAAAAAAA"
and (Col2 =0 OR Col2 is null) and Col3 =0 大多数情况下,SP给出的结果是1或2毫秒,但有时它需要45,60,90,189,260 ect.c毫秒,这对我的应用程序没有用。
我在第二台PC上面临这个问题,它是通过局域网远程访问DB的。
执行时间已由我的应用程序维护的应用程序日志和SQL确认。
我的预期结果是在1到30毫秒内不超过30,
请帮助我取得一致的时间结果。
提前谢谢你。
谢谢,
萨加尔·克莱卡。
发布于 2019-01-28 11:10:39
Slow in the Application, Fast in SSMS? Understanding Performance Mysteries
一般来说,它通常与SET选项有关。
SSMS有自己的设置值,您的应用程序可能缺少这些值。
只需在两种情况下运行DBCC USEROPTIONS:SSMS和您的应用程序并比较它们
https://stackoverflow.com/questions/54400516
复制相似问题