B-Tree vs GIN vs BRIN — when to use each, how to spot missing indexes, and the queries that catch slow paths.