Sobes.tech
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.