#819

Pagreitinkite paiešką JSONB lauko viduje

Lentelėje events yra stulpelis payload, kurio tipas JSONB, ir dažnai pasitaiko filtras pavidalo «rask įvykius, kuriuose payload turi raktą plan su reikšme pro». Didelėse lentelėse be tinkamo indekso tai yra pilnas skenavimas. Tokiam šablonui reikia apverstinio GIN indekso — jis efektyviai atsako į užklausas «ar šis JSONB turi nurodytą fragmentą». «Turi» tipo užklausoms optimali operacijų klasė yra jsonb_path_ops: ji kompaktiškesnė ir greitesnė už numatytąją, nes saugo viso kelio maišą, o ne kiekvieną raktą atskirai. Sukurkite GIN indeksą pavadinimu events_payload_gin_idx stulpelyje events.payload, būtent su operacijų klase jsonb_path_ops.

Jūsų užklausos rezultatas bus rodomas čia