A plain B-tree index handles equality, ranges,
BETWEEN, and ORDER BY well. Which predicate does a plain B-tree index NOT serve, so PostgreSQL falls back to a sequential scan even when the column is indexed?- a
price = 100 - b
price BETWEEN 50 AND 150 - c
price > 100 - d
tags @> '{"role": "admin"}'::jsonb✓
Explanation:A B-tree stores sortable scalar values, so it directly supports
=, <, >, BETWEEN and range comparisons. The @> containment operator on jsonb needs an index type that understands nested structure — GIN — not a B-tree. Options (a)-(c) are exactly the comparisons a B-tree is built for.