Hi mX,
the best way to avoid having to tune your queries is to have a proper database design and use SQL in a straightforward manner - and to know when to stop tuning. You know what kiss means, I presume?
Actually there is so much that may be different at your customer's site you certainly have to pay close attention to steer clear of performance issues.
DB2's optimizer is a cool piece of software and without enough knowledge about exactly what you are comparing to each other, I would rather expect the optimizer to be right about it's choice, unless the SQL in question is complex. If it is, it might be an indication there is something wrong - with database design, requirements, implementation, customer expectation or whatever.
By the way, what about charging your customer some implementation fee by the hour, if your application is nice and straightforward and still won't run fast enough at his site?
Johann
Quote:
Originally posted by MonolithicX
Howdy All,
I'm new to the DB2 arena and I've come to learn that the DB2 Optimizer makes different execution decisions not only on data and object structure but also on the database configuration itself such as the size of the buffer pools.
I tuned my queries on a 1 CPU 500 meg box then deployed them to a 2 CPU 1 Gig Box and the execution plan is different and the performance is worse than the smaller box.
My question is how do you avoid, or can you avoid, having to tune your queries each time you deploy it to a new customer or machine?
Thanks for you time,
mX.
|