• Jeff Moden (11/6/2013)


    dwain.c (11/6/2013)


    Jeff Moden (11/6/2013)


    GilaMonster (11/5/2013)


    Jeff Moden (11/5/2013)


    I'm well aware of that. You and I have had this conversation before and I absolutely agree. I should have said "and that someone is wrong because making good choices as to data type is NOT a pre-optimization."

    Yup. Just putting it out there for those who read this and don't know.

    I think I need to write something on this topic...

    Thanks, Gail. It would be a real pleasure to proof read it for you, if you'd like. I saw a part of something that you did on the "Preoptimization is the root of all evil" thing and it was absolutely awesome.

    I'll also try to remember to add the missing part on the next post that comes up on this subject. I'd left out a really important part on this one until you reminded me.

    At the risk of showing my ignorance (again), I had never heard of this Knuth quote "Preoptimization is the root of all evil" so I Googled it. I found a Wiki page that listed it with some links to the original source but they seemed to be all dead. I'd like to read about what Knuth actually said in context. You know how quotes can sometimes be misconstrued when out of context.

    Do you know of any links that work where he is describing it?

    Indeed I do...

    http://sbel.wisc.edu/Courses/ME964/Literature/knuthProgramming1974.pdf

    Once you have that PDF loaded, just search for the word "evil" and it will take you to the quote on page 8 of the PDF (originally numbered page "268" in the original book). And, indeed, many have taken what the man has said totally out of context. Many have, in my humble opinion, warped the word "premature" to suit their own needs as they have also done with the word "optimization".

    But I'll let you draw your own conclusions from the article at the URL above.

    Thank you sir! Downloading that now. Structured programming with loops? Heresy! Or so I was taught. Should be an interesting read.


    My mantra: No loops! No CURSORs! No RBAR! Hoo-uh![/I]

    My thought question: Have you ever been told that your query runs too fast?

    My advice:
    INDEXing a poor-performing query is like putting sugar on cat food. Yeah, it probably tastes better but are you sure you want to eat it?
    The path of least resistance can be a slippery slope. Take care that fixing your fixes of fixes doesn't snowball and end up costing you more than fixing the root cause would have in the first place.

    Need to UNPIVOT? Why not CROSS APPLY VALUES instead?[/url]
    Since random numbers are too important to be left to chance, let's generate some![/url]
    Learn to understand recursive CTEs by example.[/url]
    [url url=http://www.sqlservercentral.com/articles/St