presseportale/resources/views/livewire/customer
Kevin Adametz 7d6b97f3fb Perf: Status-Counts der PM-Uebersicht via UNION statt OR-GROUP-BY
Die nach Status gruppierte Zaehlung lief ueber accessibleBy() (user_id OR
company_id IN sub). Der OR-Ausdruck zwingt MySQL zu Full-Scans (EXPLAIN:
companies type=ALL, press_releases Full-Index-Scan ueber 124k Zeilen) und
war mit ~500-950ms der groesste Einzelposten der Seite.

Neue PressRelease::accessibleStatusCountsFor(User, ?Closure): kombiniert
Autor- und Firmen-Zweig als indexfreundliche UNION-Subquery (per PK
dedupliziert) und gruppiert darueber. Im Benchmark ~2,5x schneller bei
identischer Verteilung. Der Firmen-Filter der Uebersicht wird als geteilte
Closure auf Counts UND Liste angewandt (garantiert deckungsgleiche Filterung).

Gesamtmessung /admin/me/press-releases (User 14016, 26.772 Firmen / 20.830
PMs): Query-Pfad ~2850ms -> ~740ms warm; hydratisierte Company-Models 24.

Tests: accessibleStatusCountsFor zaehlt Autor+Firma je einmal (UNION-Dedup)
und wendet Zusatz-Constraints auf beide Zweige an.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-30 13:55:13 +00:00
..
press-kits Optimierung 5.3 (Teil 1): Contact::displayName() 2026-06-19 13:15:38 +00:00
press-releases Perf: Status-Counts der PM-Uebersicht via UNION statt OR-GROUP-BY 2026-06-30 13:55:13 +00:00
bookings.blade.php Paket-Vorteile: dynamische, im Admin pflegbare Vorteilsliste je Tarif 2026-06-18 16:36:09 +00:00
company-switcher.blade.php User Panel: Phase-8-Abschluss, Titelbild/Lizenzen/Zeitzonen und KI-Pruef-Pipeline 2026-06-12 08:30:13 +00:00
dashboard.blade.php WS-8: doppelte Logik konsolidieren (Tags, Kontakt-Query, Billing) 2026-06-18 13:33:59 +00:00
invoices.blade.php Responsive-Härtung: Seiten-Header, Kontextleiste, Stat-Cards 2026-06-12 14:08:08 +00:00
profile.blade.php Profil-Feinschliff: Pflicht-Badges, Fokus-Fix, Submit-Modal auf Switches 2026-06-12 15:02:11 +00:00
security.blade.php Responsive-Härtung: Seiten-Header, Kontextleiste, Stat-Cards 2026-06-12 14:08:08 +00:00
tokens.blade.php Responsive-Härtung: Seiten-Header, Kontextleiste, Stat-Cards 2026-06-12 14:08:08 +00:00