Can someone explain what reverse key indexes are and why you would use them? Do they have any performance benefits over noreverse key indexes?
The purpose of reverse key indexes is to reduce insert "hotspots". Suppose you have a heavily inserted table with an ID coming from a sequence. At any time, several users may be inserting rows with similar sequence numbers like 1043567, 1043568, 1043571, ... In a normal index, these will all get added to the same part of the index (where the highest values are). In a reverse key index, the index entries are reversed, so that they become more random (more like 7654301, 8653401, 1753401, ...) and are therefore inserted all over the index.
The only possible performance gain is in inserts as above, by avoiding hotspots. On the other hand, performance could be worse if you wanted to do a range scan e.g. WHERE id > 1043500. I think they are only to be used in exceptional circumstances, i.e. where insert hotspots are considered to be a particularly nasty problem.