• P Jones (5/31/2012)


    The problem of possibly changing databases should be catered for in the actual application code by using a data access layer that can be changed according to the database used, not in the database.

    The "black box" data access layer will always take the same inputs and queries from the app and communicate appropriately with the relevant database.

    Visual Studio development makes this easy despite being a Microsoft product!

    But if I'm understanding the point of the post while you can do some of this type of abstraction in a data access layer you still need to have the database optimised and as far as I know (which maybe isn't that much :-D) the only way to do this is at the database level and will therefore be different for different database products.

    Well that is unless you plan to load the entire DB into application memory and then I guess the data access layer could be responsible for all performance issues.