Richard Huxton <dev@xxxxxxxxxxxx> writes: > Mitch Skinner wrote: >> The version with the condition is definitely doing more I/O. The >> version without the condition doesn't read at all. > Does external_id_map really have 15 million rows? If not, try a VACUUM > FULL on it. Be prepared to give it some time to complete. Please don't, actually, until we understand what's going on. The thing is that the given plan will fetch every row indicated by the index in both cases, in order to check the row's visibility. I don't see how an additional test on a non-indexed column would cause any additional I/O. If the value were large enough to be toasted out-of-line then it could cause toast table accesses ... but we're speaking of a char(3). regards, tom lane ---------------------------(end of broadcast)--------------------------- TIP 1: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to majordomo@xxxxxxxxxxxxxx so that your message can get through to the mailing list cleanly