In reply to mark k..

@peter, this discussion is about "should any hack be used till it reaches its useful limit before proper restructuring is done".

The idea of using the post tables for all CPTs proven to be non scalable, especially where meta is concerned. In retrospect each CPT should have had its own table and than build views or stored procedures or whatever to handle cross CPT queries. Putting more data into what is already a non scalable place is just a bad idea.... you are likely to just shift the scalability problem from one place to another.

As for caching, hopefully you are not referring to transients as this will basically pollute the options table and you will end with the same problem you wanted to avoid.