Composite-Blei-Indizes, und entsperren Sie den Lauf, der sie schafft

FeatureInitializerService
Verschifft
20. August 2026 um 23:29 UTC
Autor
Kamo
Ausschuss
918de6e

Das /leads-Grid wird nun Filter und Seiten in der Datenbank statt Versand die gesamte Organisation zum Browser. Mit nur IX_LEADS_ORG_ID würde den Scan verlagern, anstatt ihn zu entfernen: der Planer liest immer noch jede Führung im Mieter und verwirft, was der Filter ablehnt. Vier Indizes, jeder führt mit ORG_ID so Yugabyte hält hash-partitioning auf dem Mieter und dann verengt: Zuordnung (der Filter hinter dem Original Bericht 801 von 827 Leads in der größten Org wurden nicht zugeordnet, und ein Mitglied Filterung zu ihrem eigenen Buch wollte sieben Reihen von 1.427), Markt und status (die Registerkarte, auf praktisch jede Ladung angewendet), und DatumCreated (die Standard-Sorte und der Datumsbereich-Filter). Hibernate's ddl-auto würde sie aus den @Index-Annotationen in der gleiches Boot, aber es emittiert CREATE INDEX ohne ZWEI EXISTS und Schwalben das Versagen, das 'hat es tatsächlich gelandet' aus dem Log unanrufbar macht. Explizit, idempotent und hier statt wieder vorgetauf. Rein additiv, so dass die Gate-the-DROP-Regel gilt nicht - aber die 40001 Retry tut es, da diese streitet mit dem gleichen ddl-auto Pass Momente früher. IX_LEADS_ORG_ID bleibt an Ort und Stelle, obwohl jetzt redundant: einen Index fallen lassen a Rennpass kann gerade nicht zu rekieren ist, wie ein Tisch endet mit weder. LeadContactPointSeedRunner musste sich ändern, damit irgendetwas davon überhaupt läuft. Es wurde mit findAll(Pageable) geblättert, das Spring Data als Inhalt ausführt SELECT plus ein COUNT in einer schreibgeschützten Transaktion - also ist das COUNT nie die erste Anweisung, und Yugabyte kann nur transparent versuchen, eine Lektüre Neustart auf der ersten Anweisung. Weil der Läufer Kontaktstellen schreibt zwischen den Seiten stellt sie ihren eigenen Neustart her. Latent, bis es gab genug ungesetzte führt zu Materie; bei 851 scheiterte es direkt: 40001 Neustart erforderlich ... Abfrageschicht Retry ist nicht möglich auf: count(l1_0.uid) aus Leads auswählen Das brach den gesamten Lauf bei der Bestellung 99 ab und nahm jede spätere Migration mit es, einschließlich dieses. Ersetzt durch einen Keyset-Scan (uid -nach:afterUid, eine Anweisung pro Charge, kein COUNT), die auch Einsätze Mid-Scan übersteht in einer Weise, die OFFSET paging nie getan hat.

Alle Änderungen

Wie, was Sie sehen Versand?

Jedes dieser Updates landet automatisch in Ihrem Arbeitsbereich. Starten Sie frei und beobachten Sie es Woche für Woche wachsen.

Free Forever startenPreisgestaltung anzeigen