none
C# ADO.NET настройка запроса RRS feed

  • Вопрос

  • Из книги:

    Пример: минимизация количества пакетов в сетях с большим временем ожидания.

    Компания столкнулась с проблемами быстродействия приложения для работы с базой данных. Анализ показал, что SQL-запрос из 4000 байт отправлялся через канал в пятидесяти пакетах по 80 байт. Каждый пакет отправлялся только после того, как подтверждалось получение предыдущего. Только на подсоединение уходило 5 мин. Когда изменили конфигурацию модуля подключения к базе данных на отправку меньшего количества пакетов большего размера, проблема быстродействия исчезла.

    Как такая настройка реализуется в ADO.NET ?
    9 июля 2014 г. 16:12

Ответы

  • Возможно, имеется в виду UpdateBatchSize.

    Что за книга?

    • Помечено в качестве ответа Энтомолог 9 июля 2014 г. 17:58
    9 июля 2014 г. 16:47
  • DataAdapter формирует запрос автоматически, записывая в него несколько команд update.
    Есть ли подобное свойство для SqlDataReader, ExecutenonQuery или ExecuteScalar ?

    В данном случае запрос нужно формировать вручную. То есть писать sql: "update ... ; update ... ;"

    Касательно самой темы. Как я понимаю, речь идёт совсем о других пакетах. Имеется в виду не количество команд update в запросе, а размер сетевого пакета. Это нужно знать, какой сетевой протокол использовался у них. То есть это настройка не ado.net, а настройка сети.
    • Помечено в качестве ответа Энтомолог 10 июля 2014 г. 5:50
    9 июля 2014 г. 19:27

Все ответы

  • Возможно, имеется в виду UpdateBatchSize.

    Что за книга?

    • Помечено в качестве ответа Энтомолог 9 июля 2014 г. 17:58
    9 июля 2014 г. 16:47
  • Системное и сетевое администрирование. Страта Чейлап.

    Есть ли подобное свойство для SqlDataReader, ExecutenonQuery или ExecuteScalar ?

    9 июля 2014 г. 17:55
  • DataAdapter формирует запрос автоматически, записывая в него несколько команд update.
    Есть ли подобное свойство для SqlDataReader, ExecutenonQuery или ExecuteScalar ?

    В данном случае запрос нужно формировать вручную. То есть писать sql: "update ... ; update ... ;"

    Касательно самой темы. Как я понимаю, речь идёт совсем о других пакетах. Имеется в виду не количество команд update в запросе, а размер сетевого пакета. Это нужно знать, какой сетевой протокол использовался у них. То есть это настройка не ado.net, а настройка сети.
    • Помечено в качестве ответа Энтомолог 10 июля 2014 г. 5:50
    9 июля 2014 г. 19:27