我有一个运行在 IBM 服务器上的 Microsoft SQL Server,它有 10 个内核和 64 GB RAM。
我有 100 到 300 个用户同时在服务器上工作。
用户抱怨应用程序缓慢。我检查了服务器,发现 CPU 使用率为 6%,RAM 使用率为 4GB,网络使用率高达 1Mbps。我有一条 4Mbps 的专线。
我试图在服务器上收集其他信息,例如Blocking
和Wait Statistics
:
平均资源等待时间为 40 秒。
我无法解释原因。任何人都可以提出解决此问题的方法吗?
如果需要任何进一步的信息,我可以提供。
编辑:
根据建议,我添加了以下项目:
页 预期寿命 3
IO 统计快照
等待统计
服务器信息
内存状态
查询执行列表
我有两张表,一张是 PaymentDetail,另一张是 Ledger
在这里,我想优先考虑 paymodetype,首先应考虑现金用于 R、A,然后是 FundType,然后是信用卡,然后是 DD,然后是支票。
我希望收到的现金金额首先应考虑用于 R,然后是 A,最后是 I FundType。另一个例子
这里也是sqlfiddle。只能用SQL解决吗?我不想使用光标。
编辑:
我已经用我尝试过的方法更新了sqlfiddle。我正在尝试使用 join,因为在我的结果中获得了关于 Payment Detail 的多行。我想在 Ledger 上跨越一行付款明细的金额,然后应该使用第二行。我怎样才能做到这一点?当前sqlfiddle 的结果是
我有两个数据集
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)