Пакетная вставка или одна за другой - PullRequest
0 голосов
/ 16 декабря 2009

Я строю систему, в которой данные будут добавляться пользователем каждые 30 секунд или около того. В этом случае я должен пойти на пакетную вставку (вставка через каждые 2 минуты) или я вставляю каждый раз, когда пользователь вводит данные. Система должна быть построена на c # 3.5 и сервере Sql.

Ответы [ 4 ]

2 голосов
/ 16 декабря 2009

Начните с обычных вставок. Тебе не нужно оптимизировать это.

Если производительность становится проблемой, или было бы очевидно, что это может быть проблемой, только тогда вам нужно взглянуть на оптимизацию - и даже тогда, это может не быть проблемой со вставками! Используйте профилировщик, чтобы определить узкое место.

0 голосов
/ 16 декабря 2009

Раз в 30 секунд нет значительного стресса. По принципу KISS, я предпочитаю по одному в этом случае.

0 голосов
/ 16 декабря 2009

Если это будет каждые 30 секунд, я немедленно начну вставку, если вставка выполняется так быстро, как и должно быть (<2 секунды для больших данных). </p>

Если вы видите потенциальный рост в будущем для более частых транзакций, рассмотрите возможность увеличения объема вставок.

0 голосов
/ 16 декабря 2009

Это действительно зависит от ваших требований, вы можете дать больше информации?

Например:

  • Запускаете ли вы веб-приложение?
  • Является ли данные чувствительными ко времени (для использования другими пользователями)
  • Вам нужно беспокоиться о одновременном использовании данных?
  • Какой объем транзакций вы просматриваете?

Для небольших объемов данных я просто вставляю строки, как того требует пользователь, выигрыш в кешировании, вероятно, будет минимальным, и это упростит вашу реализацию. Если ожидается, что использование будет довольно высоким, вернитесь и посмотрите на оптимизацию дизайна. Возвращается к общему правилу избегания преждевременных оптимизаций:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...