2013-10-01 2 views
0

Я просто хочу спросить, каков наилучший способ повысить производительность SQL Server, когда в одной таблице есть несколько параллельных вставок. В настоящее время я могу вставить около 70 тыс. В секунду и хочу улучшить это.SQL Server 2012 Конкрантные вставки

Если это важно, используйте C# с NHibernate.

+0

вы можете использовать объемную вставку. – DarkenShooter

ответ

2
  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 Profiler для оптимизации производительности в случае сложной логики
+0

У этого есть потенциал, чтобы быть большим ответом, если вы просто определяете, что все это значит и почему они будут хороши. –

+0

удаление индексов и FK? действительно? – Jaguar

+0

Мы в конечном итоге закончили с Hadoop. Когда у вас массивная загрузка данных и множество пользователей, правильный подход - логическое хранилище. –