我遇到了一个有趣的问题,那就是我那一代的doodad对象。我使用doodad存储过程输入大约25K的记录,从一个文件读取到我的SQL Server数据库。我需要填满5张桌子。每次我运行C#程序调用doodads时,我发现前8K记录在1-2分钟内输入,而其余的16K记录则需要几个小时。这快把我逼疯了,但我不知道该怎么走。有人能帮上忙吗?
谢谢
发布于 2013-03-24 10:15:47
您是否有权访问SQL Server客户端工具?从这里,您可以观察服务器的吞吐量,并可以看到请求本身是否正在减速(结束和开始之间的时间正在增加),或者它们是否只是花费越来越长的时间来执行(开始和结束之间的时间正在增加)。
此外,您还说前8K记录相当快,而其余的(17K左右)则非常慢。性能是随着时间的推移而下降(每1K比之前的1K慢),还是性能变慢然后保持稳定?如果性能稳步下降,您可能会看到内存泄漏或数据布局问题-如果您多次执行程序,或者表中已有数据,会发生什么?如果将其他数据放入表中,然后运行插入操作会产生相同的性能情况,那么我会看看应用程序。如果预先填充数据会立即将性能降低到不可接受的水平,那么您的数据库可能需要一些索引,或者存在存储问题。
https://stackoverflow.com/questions/15593776
复制相似问题