Foundationপ্রথম নীতি থেকে
LEVEL 8 · Database Systems

GiST

জিস্ট

Generalized Search Tree — যেকোনো 'overlaps/contains' ধর্মের উপর index বানানোর framework; R-tree, full-text, nearest-neighbor এর চাকা।

also: generalized-search-tree

B+ tree equality/range-এ আটকে থাকে; GiST শুধু চায় একটা consistent predicate: subtree-র সব entry কি parent-এর key-এর ভেতর? Geometry-তে bounding box, text-এ word set, int array-তে overlap।

CREATE EXTENSION btree_gist;
CREATE INDEX ON venues USING gist (location, created_at);
SELECT * FROM venues ORDER BY location <-> point '(23.8, 90.4)' LIMIT 5;
  • Lossy: internal key আনুমানিক — candidate দিলে heap recheck দরকার
  • <-> KNN operator GiST-ই দেয় — nearest neighbor query-র পথ
  • Exclusion constraint (EXCLUDE USING gist) — overlapping booking আটকানোর ঘড়া