Как организовать запросы к набору данных для повышения производительности
-
08-06-2019 - |
Вопрос
Я не знаю, когда добавлять в набор данных tableadapter или запрос из toolbox.Имеет ли это какое-то значение?
Я также не знаю, где создавать экземпляры адаптеров.
- Должен ли я сделать это в
Page_Load
? - Должен ли я просто делать это, когда собираюсь им воспользоваться?
- Открываю ли я новое соединение при создании нового экземпляра?
Это кажется не очень важным, но каждый раз, когда я создаю запрос, тихий голос в моем мозгу задает мне эти вопросы.
Решение
Должен ли я просто делать это, когда собираюсь им воспользоваться?
Я бы рекомендовал вам извлекать данные только тогда, когда вы собираетесь их использовать.Если вам это не понадобится, нет причин тратить ресурсы впустую, извлекая его из Page_Load .Если вам это понадобится несколько раз при загрузке страницы, рассмотрите возможность сохранения результатов запроса в закрытую переменную или коллекцию, чтобы одни и те же данные можно было повторно использовать несколько раз при загрузке страницы.
Открываю ли я новое соединение при создании нового экземпляра?
Asp.net ручки объединение в пул соединений, а также эффективно открывает и закрывает соединения.Тебе не стоит беспокоиться об этом.
Еще одна вещь, которую следует учитывать с точки зрения производительности, - избегать использования наборов данных и адаптеров таблиц.Во многих случаях они добавляют дополнительные накладные расходы для извлечения данных, которые не существуют при использовании Linq to Sql, Хранимых процедур или средств чтения данных.