I have index on a column, let’s say ID (bigint). If I have a query with something like this:
SELECT *
FROM table
WHERE id = 12345
…it will use index. But when I’m using query like…
SELECT *
FROM table
WHERE id >= 12345
AND id <= 12366
It use sequential scan, which is very slow. Can I force using the ID index?
It should use the index if the index type is
btreeandselect doesn’t fetch more then 30% of all record count (is it true in postgresql as well?)@scott-marlowe says that “..for PostgreSQL the switchover point comes much earlier, somewhere in the 1 to 10% range where it’s cheaper to do a sequential scan..”.Try calling REINDEX action maybe?