不确定这是这里还是 DBA 论坛的问题,但这里是我的问题的一些背景。我有一个用 C# 编写的应用程序,它使用 Gentle Framework 与我们的数据库交互。我遇到的问题出现在两台不同的服务器上,它们都运行 SQL Server 2008 R2。一台服务器运行具有 16GB RAM 的 Windows Server 2003,另一台运行具有 64GB RAM 的 Windows Server 2008 R2。此外,我们正在运行千兆内部网,所以我怀疑它是资源问题还是网络问题。
话虽这么说,我的问题是......当插入数据库时,每次插入都需要更多时间,从大约 30 毫秒开始,到大约 1900 毫秒,然后突然花费 189549 毫秒(3 分钟多一点)。插入 3 分钟后,时间下降到大约 10 毫秒,然后再次开始增加。这是我的日志文件的链接,显示了以毫秒为单位的时间和查询。不幸的是,由于所谓的“专有”,我无法与您分享确切的插入内容,但我可以回答有关细节的一般问题。
一些额外的细节:
- 链接的日志文件仅显示超过 10 毫秒的查询,插入之间的日志中有更多查询,但它们只占用 1-2 毫秒。我可以将一个与所有查询联系起来。
- 我已经查看了有关类似问题的其他问题,但它们要么是关于 RAID,要么是关于多插入与多值语句
- 这些是参数化查询
- 这些表已编入索引,因此无法删除这些表,因为其他应用程序正在使用这些表并依赖于这些索引。
- 我认为在更改记录插入方式方面我没有太多选择,因为 Gentle 正在生成 SQL。
- 我发现了这个我认为很接近的问题。
- 我相信 Gentle 在 1 笔交易中完成所有这些,并且有人告诉我“应该在 1 笔交易中完成,我们不会将其拆分”