KamoCRM

Используйте бережливый LeadVendorProduct считывания, а не 8-стороннюю жажду найти

PerformanceSecurityService
Порезанный
23 сентября 2026 г. в 14:40 UTC
Автор
Kamo
Обещать
9fc87cc

Caller half of the kamo-shared-library fix: переключает каждый вызов findById() LeadVendorProductРепозиторий в службе безопасности в зависимости от того, какой метод бережливости соответствует тому, что он на самом деле читать (см. ****************) / findByIdWithVendor's javadoc for полное обоснование и производственные номера — 8-стороннее соединение, измеренное при вызовах ~ 780K, 10-21 мс, на То, что всегда является одноразовым поиском, никогда не является пакетным N + 1. - LeadController.isFreeForAllLead (каждый неназначенный ведущий взгляд и история читайте): IsEmptyCreditFfaById — скалярная проекция, единственное поле, которое это когда-либо читает. ********************** Распределение / обновление LeadCreditController: FindByIdWithVendor — это прочтите vendor.org.id или передайте объект продавцу; ничего не продавцу. ********************** (публичный, неаутентифицированный): findByIdWithVendor плюс второй, обычный LeadMarketRepository.findById() для рынка и его организации — разделение двух запросов, которое эта кодовая база уже использует для безопасного доступа к объекту совместного наследования (LeadMarket->Организация) без @EntityGraph через Связанную границу. Конечные точки LeadAcceptController для инъекционных испытаний свинца и сет-фа (оба MANAGE CREDITS-gated, низкие) Объем) оставлен на findById() — более низкий приоритет, учитывая объем вызова, который этот адрес имеет. В подавляющем большинстве случаев прочитанные дорожки выше и отмечены в отчете, а не угадывались дальше. Формы JSON неизменны.

Все изменения

Как вы видите судоходство?

Все это приходит в ваше рабочее пространство самостоятельно. Начните с бесплатного плана и прочитайте эту страницу через месяц.

Начните бесплатно навсегдаПосмотреть цены