I'm not sure how oracle avoids the same issues: - The index has no visibility information, so you can't tell if an index entry refers to a row you can actually see in your session. The visibility map might help here in the future.
In Oracle an index (entry) has the information about transactional visibility.
Wow. Doesn't that mean that indexes are insanely expensive to update, since each index (and possibly also the table its self) needs updating?
I was thinking of read performance. But it might be a case where the global optimization might be worth the local cost. I don't know.