Sql Server 2016执行非常简单的插入

时间:2017-03-06 18:17:52

标签: c# sql-server database performance

我希望有人可以帮我解决sql server 2016的性能问题。

以下是我的2个设置,我正在比较它们

  • 旧款dell lattitude笔记本电脑(i7 cpu,16gb ram ssd)     Windows 10     Sql Server 2014开发人员版(x64)

  • 更新的戴尔(xeon cpu,32gb内存,更快的ssd - 比我测试中的旧笔记本电脑ssd快3倍)     Windows 10     Sql Server 2016开发人员版(x64)

使用所有默认配置安装了两个版本的sql server。我很快就注意到了 两者之间的表现差异

  • 从sql server 2016(相同数据库)
  • 恢复备份中的小型数据库需要大约5倍
  • 将11K数据行插入到没有索引的空表中(除了app插入数据之外,数据库不在使用中)     sql server 2014 - 2秒     sql server 2016 - 32秒

到目前为止,我已查看以下内容

  • 错误日志没有任何错误。
  • sys.dm_exec_query_stats到目前为止没有给我任何线索(它告诉我插入很慢,但是由于没有扫描,没有 索引不确定它能告诉我什么)
  • 运行sql server profiler不会出现任何问题
  • 在代码中做一些计时器表明整个时间花在执行命令对象上。

有关该计划的一些细节

  • dot.net 4.6.1 wpf app
  • 读取csv文件并将数据插入表
  • 使用async
  • 在填充地线上完成插入
  • 计时器清楚地表明问题不在于解析csv文件或其他任何东西 - 只需插入
  • 正在重用SqlCommand对象(以及数据库连接)
  • 未指定明确的交易
  • 在比较2台计算机时,同样运行的程序完全相同(基本上我唯一看到的区别就是硬件和不同的sql server版本)

我正在寻找一些帮助,以了解甚至开始对此进行故障排除的位置。以下是我接下来要做的事情:         在较旧的笔记本电脑上安装sql server 2016并查看插件是否与在sql server 2014中一样快,或者我会看到显着的减速

感谢

1 个答案:

答案 0 :(得分:1)

感谢所有帮助。经过一段时间的故障排除和环顾四周后,我发现了这篇文章:here 我跑了AS SSD Benchmark,马上注意到我的硬盘出现了一个很大的问题(我猜不是所有的SSD Benchmark软件都是平等的 - 另一个我试过让我看到我的SSD摇滚)。我现在将专注于如何解决这个问题。谢谢大家