#817

Suchanfragen für einen seltenen Status beschleunigen

In orders haben 95 % der Zeilen den Status paid und nur 5 % sind pending. Die heiße Überwachungsabfrage lautet „gib mir jede pending-Bestellung der letzten Stunde“. Ein einfacher Status-Index deckt jede Zeile der Tabelle ab und wird dadurch zu groß — pending geht in paid unter. Die Lösung ist ein partieller Index, der physisch nur pending-Zeilen enthält: etwa 20× kleiner und schneller zu scannen. Erstelle einen partiellen Index namens orders_pending_idx auf der Spalte id von orders, eingeschränkt durch die Bedingung status = 'pending'.

Dein Abfrageergebnis erscheint hier