2013-03-24 39 views
0

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

谢谢

回答

0

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

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