Вопрос о поставщике Microsoft OLE DB для SQL Server - PullRequest
1 голос
/ 05 ноября 2010

На самом деле я использую Microsoft OLE DB Provider for SQL Server с ADO, мой вопрос касается параметра Packet Size, который используется в строке подключения, документация MSDN гласит

Размер пакета Указывает сетевой пакет размер в байтах. Размер пакета значение свойства должно быть между 512 и 32767. Размер сетевого пакета SQLOLEDB по умолчанию - 4096.

Существуют ли какие-либо преимущества или недостатки в производительности для моего приложения, если я использую максимальное значение (32767) для этого параметра?

Ответы [ 2 ]

2 голосов
/ 05 ноября 2010

Вы будете использовать небольшой размер пакета для настройки для множества коротких небольших транзакций и большой размер пакета для настройки для меньшего количества больших передач.

Причина: слишком большой размер пакета при небольших передачах, и вы тратите ресурсы на передачу дополненных данных. Слишком маленький размер пакета при больших передачах, и вы тратите ресурсы на генерацию / передачу заголовков пакетов.

0 голосов
/ 27 октября 2013

Если вы просто выполняете массовую загрузку / загрузку, установленную на максимум.

Чем больше пакет, тем лучше.Он не дополняется, когда вы фактически передаете меньший объем данных, как упомянул Кевин.Меньшие пакеты разумны, если ваше соединение нестабильно и вы хотите, чтобы ваши данные отображались быстрее, как только поступят первые записи.С большими пакетами вам придется ждать "дольше", пока вы не получите первые результаты.

...