Автозагрузка
![]() | В этой статье есть несколько проблем. Пожалуйста, помогите улучшить его или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалять эти сообщения )
|
Автозагрузка [ 1 ] это метод автоматизации обычно ручного процесса указания подсказок предварительной выборки для запросов объектно-реляционного сопоставления .
Али Ибрагим и Уильям Кук из Техасского университета в Остине разработали идею «AutoFetch», включая реализацию для Hibernate , а затем реализацию в Ebean .
Преимущества
[ редактировать ]Улучшение модульности кода приложения
[ редактировать ]AutoFetch использует состояние программы (обычно стек вызовов ) для классификации запросов . Это означает, что AutoFetch может настраивать один и тот же запрос по-разному в зависимости от того, КАК он был вызван.
Например, API доступа к данным, такой как findCustomer(int customerId)
может быть настроен по-разному в зависимости от вызывающего метода.
Снижение нагрузки на разработку и обслуживание со стороны разработчиков.
[ редактировать ]Поскольку AutoFetch автоматически собирает информацию о профилировании, разработчикам не нужно вручную собирать эту информацию и применять к коду оптимизацию производительности.
AutoFetch может отслеживать использование графа объектов, поэтому в случае изменения использования настройка запроса может измениться соответствующим образом. Это уменьшает проблемы с обслуживанием кода для разработчиков и поддерживает оптимальную производительность при изменении использования с течением времени.
Принцип работы
[ редактировать ]AutoFetch собирает данные об использовании графа объектов при выполнении запросов. Он собирает информацию «профиля», которая позже используется для автоматической настройки запроса при последующих выполнениях. Запрос ORM настраивается путем определения и автоматического добавления правильных директив предварительной выборки для каждого запроса.
Было доказано, что это повышает производительность приложения за счет уменьшения « ленивой загрузки ». Для ORM, поддерживающих частичные объекты, AutoFetch также может настроить запрос, включая свойства, которые использует приложение, а не все свойства.
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Ибрагим, Али; Кук, Уильям. «Автоматическая предварительная выборка с помощью профилирования обхода в архитектурах сохранения объектов» (PDF) . Проверено 12 января 2024 г.