Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

ASP - Быстродействие доступа к данным

Быстродействие доступа к данным

Доступ и извлечение данных часто является областью наибольших трудностей для разработчика веб-приложений.

Многие из вопросов масштабируемости и быстродействия, возникающие из-за доступа к данным, находятся вне контроля разработчика веб-приложений. Однако существует ряд технологий, которые можно использовать для увеличения быстродействия:

  • Кэширование результатов из источников данных, которые являются устойчивыми или изменяются предсказуемо. Можно кэшировать набор записей, возвращенный запросом, или кэшировать «чистый» вывод HTML, созданный в результате обработки запроса.

Например, если используется ADO для заполнения поля со списком, содержащим города, в которых имеются офисы, первый вызов ADO может внести результаты запроса в приложение. Последующие запросы к сведениям из этого списка могут быть выполнены из объекта Application вместо дорогостоящего обращения к источнику данных через ADO.

Если необходимо непосредственно кэшировать результирующий набор записей, следует использовать курсор на стороне клиента и отделить набор записей от объекта Command, установив свойство ADO ActiveConnection в Nothing.

Дополнительные сведения о кэшировании данных см. в разделе Кэширование данных.

  • Обычно избегайте помещения подключений ADO в состояние сеанса, поскольку ODBC (версия 3.0 и более поздние) автоматически группирует подключения, а OLE DB обеспечивает группировку сеансов.
  • Используйте, насколько возможно, исходные строки подключения OLE DB. Исходные строки подключения OLE DB обычно быстрее большинства DNS для ODBC. Кроме того, строки подключения OLE DB обеспечивают большую гибкость, поскольку приложение сможет использовать любой интерфейс доступа OLE DB.
  • Если используется источник данных, поддерживающий их, например Microsoft SQL Server, по возможности используйте хранимые процедуры. Запрос, выполняемый из хранимой процедуры, быстрее запроса, проходящего через строку запроса SQL.
  • Чтобы оптимизировать быстродействие, избегайте использования методов ADO, добавляющих и удаляющих записи, например AddNew и Delete. Если приложение интенсивно добавляет и удаляет записи, лучшее быстродействие будет достигаться при использовании непосредственно операторов SQL, например INSERT.
  • Установите свойство ADO CacheSize в значение, большее используемого по умолчанию (1). Заставляя ADO извлекать несколько записей в одной транзакции с источником данных, можно исключить часть накладных расходов, связанных с транзакцией, а приложение станет более масштабируемым. Обычно выигрыш наиболее вероятен, если установить значение CacheSize равным наименьшему из двух чисел: количества ожидаемых записей и числа 100.
  • Используйте флаг ADO 2.0 AdExecuteNoRecords, когда выполняется команда, не возвращающая строки данных или возвращающая строки, к которым не нужно обращаться или сохранять. Эта новая возможность, введенная в ADO 2.0, была создана для уменьшения накладных расходов, вызываемых ADO, и, следовательно, увеличения быстродействия и масштабируемости.
  • Запретите временные хранимые процедуры, если источник данных поддерживает их.

Дополнительные сведения о доступе к данным см. в разделах Доступ к источнику данных и Доступ к данным с помощью ASP.

Оставить комментарий

Комментарий:
можно использовать BB-коды
Максимальная длина комментария - 4000 символов.
 
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог