presseportale/app
Kevin Adametz 580c918ad3 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
..
Actions 29-05-2026 Optimierungen Fixes am Code 2026-05-29 12:42:05 +00:00
Console/Commands Optimierung 3.5: Kleinere Zentralisierungen (VAT, findByEmail, Waehrung, Provisioning) 2026-06-19 11:14:05 +00:00
Contracts 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
Enums Optimierung Phase 0: Korrektheit & Security 2026-06-19 08:09:02 +00:00
Exceptions Proof-PDF + Extra-PM-Verkauf ueber die Credit-Wallet (Decision-Update 2.1/2.3) 2026-06-17 14:28:08 +00:00
Helpers 19-05-2026 Rebrand Pressekonto, Hub-Flux UI und Legacy-Media-Migration 2026-05-19 16:36:13 +00:00
Http Optimierung 4.3/4.4 (Home): Page-Data-Service + Invokable Controller 2026-06-19 12:14:38 +00:00
Jobs User Panel: Phase-8-Abschluss, Titelbild/Lizenzen/Zeitzonen und KI-Pruef-Pipeline 2026-06-12 08:30:13 +00:00
Listeners Optimierung 3.5: Kleinere Zentralisierungen (VAT, findByEmail, Waehrung, Provisioning) 2026-06-19 11:14:05 +00:00
Livewire Optimierung 5.2 (Teil 1): ProvidesUserFormRules-Concern 2026-06-19 12:41:57 +00:00
Mail 19-05-2026 Rebrand Pressekonto, Hub-Flux UI und Legacy-Media-Migration 2026-05-19 16:36:13 +00:00
Models Perf: Status-Counts der PM-Uebersicht via UNION statt OR-GROUP-BY 2026-06-30 13:55:13 +00:00
Observers 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
Policies Proof-PDF + Extra-PM-Verkauf ueber die Credit-Wallet (Decision-Update 2.1/2.3) 2026-06-17 14:28:08 +00:00
Providers Optimierung 3.6: Zugriffs-Gates und getrennte Impersonation-Sperre 2026-06-19 11:20:28 +00:00
Scopes 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
Services Optimierung 5.1: Tabellen-Concerns (Sortierung, Volltext-Heuristik, Stats) 2026-06-19 12:36:48 +00:00
Support Optimierung 4.1: Web-Portal-/Domain-Kontext extrahiert 2026-06-19 11:42:00 +00:00