Blog

Your dream job? Lets Git IT.
Interactive technical interview preparation platform designed for modern developers.

XGitHub

Platform

  • Categories

Resources

  • Blog
  • About the app
  • FAQ
  • Feedback

Legal

  • Privacy Policy
  • Terms of Service

© 2025 LetsGit.IT. All rights reserved.

LetsGit.IT/Categories/PostgreSQL
PostgreSQLmedium

What is a GIN index and when would you use it?

Tags
#gin#index#jsonb#arrays
Back to categoryPractice quiz

Answer

GIN (Generalized Inverted Index) is great for “contains” queries on composite types like arrays and `jsonb` (e.g., `@>`, `?`). It indexes many-to-many relationships between keys and rows.

CREATE INDEX idx_events_payload ON events USING GIN (payload);

-- example query (jsonb contains)
SELECT * FROM events WHERE payload @> '{"type":"click"}';

Related questions

PostgreSQL
GIN vs GiST indexes: when would you use each?
#postgres#indexes#gin
PostgreSQL
What is a partial index in PostgreSQL and when is it useful?
#postgres#index#partial-index
PostgreSQL
What is an index-only scan and what is the “visibility map” role?
#index-only-scan#visibility-map#index
PostgreSQL
BRIN vs B-tree index — when is BRIN a good fit?
#brin#btree#index
PostgreSQL
JSON vs JSONB in Postgres — what’s the difference (and why JSONB is common)?
#json#jsonb#gin
PostgreSQL
What is an index in PostgreSQL and how does it help performance?
#index#btree#performance