- Порезанный
- 23 сентября 2026 г. в 14:39 UTC
- Автор
- Kamo
- Обещать
- 3677d12
findById() на LeadVendorProduct тянет своего поставщика по умолчанию EAGER, который сам нетерпеливо ловит его собственная организация и ее рынок (который снова привлекает ITS-организацию) — и организация @Inheritance (JOINED), так что каждый из этих прыжков также является внешним соединением ORG MTG для решения проблемы. полиморфный подтип. Измеряется в производстве pg stat statements: 8-стороннее соединение, ~780K вызывает 10-21 мс (~ 3 часа совокупного времени DB), почти полностью одноидные поиски ('где id = 1'), а не Сборный N+1 — у каждого абонента уже есть один идентификатор и он читает максимум продавцу + свои скалярные поля. Добавляет два бережливых метода LeadVendorProductRepository и переключает каждый абонент findById() kamo-shared-library + служба безопасности, которая соответствует тому, что она на самом деле читает: - findIsEmptyCreditFfaById: скалярная проекция JPQL, никаких соединений. - findByIdWithVendor: a @EntityGraph limited to 'vendor' (a plain, non-JOINED entity) - vendor.org и vendor.market возвращаются в качестве неинициализированных прокси-серверов, идентификатор которых по-прежнему читается без каких-либо дополнительных Запрос, который является всеми проверками собственности в этих абонентах, когда-либо необходимыми. Преднамеренно НЕ является @EntityGraph на vendor.org или vendor.market.organization. Организация и граф сущности, которые выводят дальнейшие ассоциации из объединенного наследства Это точная форма, которая приняла / приводит к снижению производства на Hibernate 6.2.13 (отсутствует FROM-clause) Вход для корневой таблицы — см. LeadAssigneeRef. Две компании, которым действительно нужен рынок организация **************** в службе безопасности) загрузить LeadMarket в качестве второй, Вместо обычного запроса — тот же раздел, который эта кодовая база уже использует для TeamMember. Формы JSON неизменны, изменены только те столбцы, которые считываются из базы данных.
