0

我对 mygeneration doodad 对象有一个有趣的问题。我正在使用 doodad 存储过程将从文件中读取的大约 25K 记录输入到我的 SQL Server 数据库中。我需要填满 5 张桌子。每次我运行调用 doodads 的 C# 程序时,我发现前 8K 记录在 1-2 分钟内输入,而其余 16K 记录则需要数小时。这让我发疯,但我不知道出路。有人可以帮忙吗?

谢谢

4

1 回答 1

0

您是否有权访问 SQL Server 客户端工具?如果是这样,并且您可以运行 SQL Profiler,您可以查看针对 SQL Server 执行的语句及其频率。从这里,您可以查看服务器的吞吐量,并且您可以查看请求本身是否在变慢(结束和开始之间的时间正在增加),或者它们是否只是花费越来越长的时间来执行(开始和开始之间的时间)端正在增加)。

另外,您说前 8K 记录非常快,而其余的(17K 左右)则非常慢。性能会随着时间的推移而下降(每个 1K 比之前的 1K 慢),还是性能变慢然后保持稳定?如果性能稳步下降,您可能会看到内存泄漏或数据布局问题 - 如果您多次执行程序,或者数据已经在表中,会发生什么?如果将其他数据放入表中,然后运行插入程序会给您相同的性能情况,那么我会查看应用程序。如果预先填充数据会立即将性能降低到无法接受的水平,那么您的数据库可能需要一些索引,或者存在存储问题。

于 2013-03-24T02:15:46.510 回答