Ian Bicking: the old part of his blog

Comment

your object is clearly not (or in a real RDBMS application, shouldn't be) simply a single row. why not have objects defined at the scripting level and cache there? perhaps your object crosses five tables. fine. the first time you need it, read it (all of it, in one maybe monstrous join), cache it for five minutes, and use it in any function that needs it. no more database calls necessary. if you write to the object (any of those five tables), mark the data as dirty or remove it from memory.

keep the databse clean and simple. write an object oriented layer in your scripting language of choice. then use that abstraction in the per-page scripts you write. your pages will be much simpler and your web app will be much more powerful for it.

--one of the original oacs guys
Comment on ORM vs. SQL