I guess what I'm looking for is to have a writeback cache where entire tables are loaded into memory upon startup of the application.
The tables and their content don't actually take up that much memory + the memory is allocated upon startup so there are no surprises later on by memory peak usage. Actual memory usage doesn't matter as much as being able to know precisely what to set maximum heap to & knowing how much physical memory to install. Of course that would require Cayenne to be able to run queries against tables in memory... Cayenne is capable of resolving to-one relationships for objects that are in memory, but to-many require a query to the database even if all the resulting records are cached in memory already. Or... I could be barking up the wrong tree... again.... I've been pondering whether to modify the logger not to show queries that take less than n ms. I never measured how long it actually takes to log a query.... This sort of caching is what I would have expected databases to have done to death... -- Øyvind Harboe http://www.zylin.com/zy1000.html ARM7 ARM9 XScale Cortex JTAG debugger and flash programmer
