Как отладить производительность DataSet - PullRequest
3 голосов
/ 10 августа 2011

У меня есть набор данных в проекте Visual Studio 2010 Web App, который обращается к БД со сложным оператором SQL.Если я запускаю оператор в SQL Management Studio напрямую, он загружается менее чем за секунду.Однако, если я запускаю его с помощью кнопки «Предварительный просмотр данных» в конструкторе наборов данных или пытаюсь получить доступ к нему на странице (например, с помощью сетки), это занимает более 40 секунд!

Какие действия следует выполнитьЯ взял, чтобы отследить, что вызывает эту огромную задержку при работе с набором данных?

Ответы [ 2 ]

1 голос
/ 10 августа 2011

Есть два случая:

  • Проблема на уровне приложения
  • Проблема на уровне базы данных, на самом деле SQL сам запрос

Так что в качестве первого шага попытайтесь исключить один из случаев, с моей точки зрения гораздо проще отладить SQL side:

  1. Выполнить Sql Profiler
  2. Выполнить запрос from Management Studio
  3. Сохранение журналов профилировщика
  4. Очистить журналы профилировщика
  5. Запустить «Предварительный просмотр набора данных»
  6. Сравните журналы выполнения и посмотрите, есть ли разница в SQL
0 голосов
/ 10 августа 2011

Некоторые шаги, чтобы следовать

Поместите SQL Server Profiler на сервер базы данных, чтобы убедиться, какую команду SQL выполняет приложение

Класс набора данных имеет очень низкую производительность, вы должны попробовать использовать datareader

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

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