Middle
Hogyan működik a GIN index?
sobes.tech MI
Válasz az MI-től
GIN (Általánosított Fordított Index) egy típusú index a PostgreSQL-ben, amely optimalizált összetett adat típusokra, mint például tömbök, JSON, teljes szöveg keresés és más struktúrák, ahol egy kulcs több értékhez is tartozhat.
A GIN index működési elve egy fordított indexen alapul: minden értékhez (kulcs) egy lista tartozik, amely a táblázat azon soraira mutat, ahol ez az érték előfordul. Ez lehetővé teszi hatékony lekérdezések végrehajtását olyan operátorokkal, amelyek ellenőrzik az elemek jelenlétét tömbökben vagy kulcsokban JSON-ben.
A GIN jellemzői:
- Gyors keresést támogat több érték esetén egy mezőben.
- A index több helyet foglal és több időt igényel a frissítéshez, mint a B-tree.
- Alkalmas teljes szöveg keresésre és JSONB-vel való munkára.
GIN használatának példája JSONB-hez:
CREATE INDEX idx_data_gin ON my_table USING GIN (data jsonb_path_ops);
SELECT * FROM my_table WHERE data @> '{"key": "value"}';
Ez az index gyorsan megtalálja azokat a sorokat, ahol a data mező tartalmazza a megadott kulcsot és értéket.