The answer to the question, "When should I optimize?" ---- '''''Cute. Wrong, but cute.''''' There's always someone who doesn't like cute, pithy answers because they're not 100% correct. However, for the 99% of programmers who optimize prematurely, this is the correct answer to the question. ''I didn't say I didn't like it, I said it was wrong. Either that, or there is a stage of some projects that should be called "NotYet".'' If you aren't yet forced by some requirements to optimize (which the question "When should I optimize?" seems to imply), it is likely that the project is in the "NotYet"-stage, isn't it? ---- "You have to denormalize the database and store everything as XML files" the expensive consultant said, "because this is a 'high visibility' project and performance will be crucial!!!" "Look," I said, "according to the numbers I'm looking at, we expect a few thousand transactions '''a day''' of a few dozen records each and a required turnaround time of 60 seconds. I think Oracle can handle it. Where's your evidence that it won't?" ''Tell ya' what: Let's just run it on the fraction of the data we have now, and see if it takes more than a second or two to run a transaction; then we can talk about it.'' ---- See also OptimizeLater.