Sobes.tech
Middle

GIN indeks qanday ishlaydi?

sobes.tech AI

AIdan javob

GIN (Generalized Inverted Index) PostgreSQL'da murakkab ma'lumot turlari bo'yicha tezkor qidiruv uchun optimallashtirilgan indeks turidir, masalan, massivlar, JSON, to'liq matnli qidiruv va boshqa tuzilmalar, bunda bir kalit bir nechta qiymatlarga mos kelishi mumkin.

GIN indeksining ishlash prinsipi teskari indeksga asoslangan: har bir qiymat (kalit) uchun, bu qiymat uchraydigan jadval satrlariga havolalar ro'yxati saqlanadi. Bu, massivdagi elementlar yoki JSON'dagi kalitlarning mavjudligini tekshirish operatorlari bilan so'rovlarni samarali bajarishga imkon beradi.

GIN xususiyatlari:

  • Bir maydonda ko'p qiymatlarni tez qidirish imkonini beradi.
  • Indeks ko'proq joy oladi va B-tree ga qaraganda yangilash uchun ko'proq vaqt talab qiladi.
  • To'liq matnli qidiruv va JSONB bilan ishlash uchun mos.

JSONB uchun GIN foydalanish misoli:

CREATE INDEX idx_data_gin ON my_table USING GIN (data jsonb_path_ops);

SELECT * FROM my_table WHERE data @> '{"key": "value"}';

Bu indeks, data maydonida belgilangan kalit va qiymat mavjud bo'lgan satrlarni tezda topishga imkon beradi.