小编Amr*_*ngh的帖子

SQL Server 执行缓慢

我有一个运行在 IBM 服务器上的 Microsoft SQL Server,它有 10 个内核和 64 GB RAM。

我有 100 到 300 个用户同时在服务器上工作。

用户抱怨应用程序缓慢。我检查了服务器,发现 CPU 使用率为 6%,RAM 使用率为 4GB,网络使用率高达 1Mbps。我有一条 4Mbps 的专线。

我试图在服务器上收集其他信息,例如BlockingWait Statistics

在此处输入图片说明

在此处输入图片说明

平均资源等待时间为 40 秒。

我无法解释原因。任何人都可以提出解决此问题的方法吗?

如果需要任何进一步的信息,我可以提供。

编辑:

根据建议,我添加了以下项目:

页 预期寿命 3

在此处输入图片说明

IO 统计快照

在此处输入图片说明

等待统计

在此处输入图片说明

服务器信息

在此处输入图片说明

内存状态

在此处输入图片说明

查询执行列表

在此处输入图片说明

performance sql-server-2008 sql-server

7
推荐指数
1
解决办法
1459
查看次数

根据 FundType 的优先级比较两个表的金额

我有两张表,一张是 PaymentDetail,另一张是 Ledger

在此处输入图片说明

在这里,我想优先考虑 paymodetype,首先应考虑现金用于 R、A,然后是 FundType,然后是信用卡,然后是 DD,然后是支票。

我希望收到的现金金额首先应考虑用于 R,然后是 A,最后是 I FundType。另一个例子 在此处输入图片说明

这里也是sqlfiddle。只能用SQL解决吗?我不想使用光标。 编辑: 我已经用我尝试过的方法更新了sqlfiddle。我正在尝试使用 join,因为在我的结果中获得了关于 Payment Detail 的多行。我想在 Ledger 上跨越一行付款明细的金额,然后应该使用第二行。我怎样才能做到这一点?当前sqlfiddle 的结果是 在此处输入图片说明

sql-server query

1
推荐指数
1
解决办法
1225
查看次数

左连接没有给出想要的结果

我有两个数据集

FEES                    PAYMENTS            
CrsCode InstNo  FEE     Regno   CRSCODE Instno  Payment
CA1        -2   100     R1     CA1      -2       100
CA1        -1   200     R1     CA1      -1       200
CA1         1   200     R1     CA1       1       200
CA1         2   300                 

DESIRED OUTPUT                          
REGNO   CRSCODE INSTNO  FEE PAID    DIFF        
R1          CA1  -2   100   100     0       
R1          CA1  -1   200   200     0       
R1          CA1   1   200   200     0       
R1          CA1   2   300   0       300     

OUTPUT I AM GETTING                         
REGNO   CRSCODE INSTNO     FEE     PAID  DIFF       
R1          CA1   -2       100 …
Run Code Online (Sandbox Code Playgroud)

join sql-server

-2
推荐指数
1
解决办法
237
查看次数

标签 统计

sql-server ×3

join ×1

performance ×1

query ×1

sql-server-2008 ×1