KamoCRM

Fetching LeadVendorProduct's org chain for a single-id read

Performancekamo-shared-library
Shiked
23 Eylül 2026 14:39 UTC
Yazar
Kamo
Commit
3677d12

findById() on LeadVendorÜrün varsayılan-EAGER satıcısını çekiyor, ki bu kendi istekli-fetches its Kendi org and its market (hangi istekli-fetches ITS org again) – ve Organizasyon @Inheritance (JOINED), bu yüzden bu umutlardan her biri de dış-joins ORG MTG'yi çözmek için polimorphic subtype. Üretim pg stat statements: 8way katılmak, ~780K çağrıları 10-21ms (~3 saat teorik olarak DB zamanı), neredeyse tamamen tek kişilik aramalar (nede id=$1’), bir değil Kısmen N + - her çağrıcı zaten bir boşluğa sahiptir ve çoğu satıcıda okur + kendi ölçek alanları. İki yalın LeadVendorÜrünRepository yöntemi ekleyin ve Id() caller in Id() caller in Id() caller in theId kamo-shared-library + güvenlik hizmeti aslında okuduklarını oynayan birine: - FindIsEmptyKrediFfaById: bir ölçekar JPQL projeksiyonu, hiç katılmaz. - ByIdWithVendor: A @EntityGraph, "vendor" (bir düz, non-JOINED varlık) - satıcı.org ve satıcı.market, boş olmayan temsilciler olarak geri döndü ve hala ekstra okunamıyor Soru, bu çağrıcılarda tüm org-değer kontrolleri her zaman gerekli. Deliberately bir @EntityGraph to satıcı.org veya satıcı.market.organization: Her ikisi de satıcıya ait değildir. Organizasyon ve JOINED-inheritance varlıklı bir varlık grafiği Hibernate 6.2.13'te üretimde /leads'ı devralan tam biçimdir (kullanıcıdan izin verilir). Kök masaya giriş - LeadAssigneRef bakınız). Gerçekten piyasanın ihtiyacı olan iki çağrıcı Organizasyon organizasyonu ************ güvenlik hizmetleri) yük LeadMarket'i ikinci olarak yükler, Bunun yerine sıradan sorgu - bu kodbase'i zaten TeamMember için kullanıyor. JSON şekilleri değişmeden kalır; sadece sütunlar veritabanı değişti.

Tüm değişiklikler

Kargoyu gördüğünüz gibi?

Tüm bunlar kendi başına iş alanınıza geliyor. Ücretsiz plana başlayın ve bu sayfayı bir ay içinde tekrar okuyun.

Sonsuza Kadar Ücretsiz BaşlangıçFırsatları Görüntüle