【问题标题】:SQL Server 2012 Conccurent InsertsSQL Server 2012 并发插入
【发布时间】:2013-10-01 09:40:52
【问题描述】:

我只想问,当同一个表中有多个并发插入时,提高 SQL Server 性能的最佳方法是什么。目前我能够每秒插入大约 70k 并且想要改进它。

如果我在 NHibernate 中使用 c# 很重要。

【问题讨论】:

  • 你可以使用批量插入。

标签: c# sql sql-server multithreading nhibernate


【解决方案1】:
  1. 使用批量插入。 http://msdn.microsoft.com/ru-ru/library/system.data.sqlclient.sqlbulkcopy%28v=vs.110%29.aspx
  2. 删除所有不必要的索引(如果可能,删除所有)和外键约束。 每个插入操作都会导致索引重建和约束检查。
  3. 将恢复模式设置为简单。允许高性能大容量复制操作。回收日志空间以保持较小的空间需求。更准确地说这里http://msdn.microsoft.com/en-us/library/ms189275.aspx
  4. 使用 NHibernate 分析器优化复杂逻辑的性能

【讨论】:

  • 如果您只是充实所有这些意味着什么以及为什么它们会很好,这可能是一个很好的答案。
  • 删除索引和 FK 的?真的吗?
  • 我们最终选择了 Hadoop。当您拥有大量数据和大量用户时,正确的方法是逻辑存储。
猜你喜欢
  • 2020-05-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-25
  • 1970-01-01
  • 2013-06-02
  • 2015-08-09
相关资源
最近更新 更多