Actually here's the real question, could one take a preparedstatement and write an implementation that uses a statement and therefore is always as fast? The answer is probably yes. Sometimes the
java implementation might be such that more advanced structures are slower but the hope is that by using the advanced data structure, the implementation will eventually improve such that the users could take advantage of the data structure without any performance tradeoffs.