But we've always done it that way…

  • Comments posted to this topic are about the item But we've always done it that way…

    "The credit belongs to the man who is actually in the arena, whose face is marred by dust and sweat and blood"
    - Theodore Roosevelt

    Author of:
    SQL Server Execution Plans
    SQL Server Query Performance Tuning

  • the five monkeys experiment

    http://www.mannkal.org/downloads/rspt/monkies.pdf

    ________________________________________________________________
    you can lead a user to data....but you cannot make them think
    and remember....every day is a school day

  • I love that you chose the trusty old NOLOCK hint as an example. I started work at a particular organisation many years ago and found the God-like NOLOCKs reverently placed against every table in every query. I'd never seen this behaviour before, so I just had to ask why. The dismissively authoritative answer (from the manager, no less) was "If you don't, it breaks replication". Wait... what? This didn't sound quite right to me. But I was new and this guy was the manager. I spoke to another newcomer (a DBA with some pretty good chops) and he raised his eyebrows. We did some googling and the respected SQL Server bloggers all seemed to be saying "first fix your query" before worrying about NOLOCK. It was the queries that were "breaking replication" (causing locking and blocking). The NOLOCK was (at best) treating the symptom, not the cause.

    The bigger problem was that try as we might, we couldn't convince the manager to stop using NOLOCK hints (and writing queries so bad that they needed them). It became a petty professional jealousy thing. Any argument, article, or metric, was met with stonewalling like "Well that's just a matter of opinion", and "there's probably just as many articles arguing the other way." Essentially he was saying "I'm the manager and I'm not going to be told how to do my job by a couple of Johnny-Come-Latelies".

    In our case the "...we've always done it that way…" became entrenched for utterly irrational reasons (hubris) and became exceedingly hard to shift. I hear they're still repairing the damage today.

    ...One of the symptoms of an approaching nervous breakdown is the belief that ones work is terribly important.... Bertrand Russell

  • I've run into the same type of thing over and over (especially, for some reason NOLOCK, it becomes a magical talisman somehow). There are no easy solutions once people get fixated on poor or weak practices. Education is the key, but, some people actively refuse education.

    "The credit belongs to the man who is actually in the arena, whose face is marred by dust and sweat and blood"
    - Theodore Roosevelt

    Author of:
    SQL Server Execution Plans
    SQL Server Query Performance Tuning

  • Grant Fritchey (8/1/2015)


    Comments posted to this topic are about the item <A HREF="/articles/Editorial/129741/">But we've always done it that way…</A>

    That's my favorite example on the subject.

    The only difference in real life is that the original set of 5 monkeys never get shot with a hose. They're just stupid and fell off the stairs because they didn't know what they were doing to begin with. 🙂

    --Jeff Moden


    RBAR is pronounced "ree-bar" and is a "Modenism" for Row-By-Agonizing-Row.
    First step towards the paradigm shift of writing Set Based code:
    ________Stop thinking about what you want to do to a ROW... think, instead, of what you want to do to a COLUMN.

    Change is inevitable... Change for the better is not.


    Helpful Links:
    How to post code problems
    How to Post Performance Problems
    Create a Tally Function (fnTally)

  • Many moons ago in the Web 1.0 boom, I inherited a reporting system that was so slow that the database connection was timing out. Turns out the programmers didn't study any SQL and created a double loop that compared every record in a table to every other record in the table instead of using a simple SELECT DISTINCT. Addition of that and the commenting out of their "code" fixed performance issues. And I was fired later that day for questioning "Senior Developers" "code".

    I swear I can't make up 98% of the crazy stuff I saw back then or since... :blink:

  • I just left a position because I got tired of hearing "That's the way we always did it" AND 'We don't have time to do it right".

    Together, those sentences said " We really don't care".

    Well, neither do I!

    Michael L John
    If you assassinate a DBA, would you pull a trigger?
    To properly post on a forum:
    http://www.sqlservercentral.com/articles/61537/

  • Michael L John (8/3/2015)


    I just left a position because I got tired of hearing "That's the way we always did it" AND 'We don't have time to do it right".

    Together, those sentences said " We really don't care".

    Well, neither do I!

    I can't begin to tell you how many times I have been asked if I can make some development deadlines faster. My typical response is something like "Sure I can shave off a couple of weeks and push this out the door. No problem. When can I schedule the four weeks in the future that will be needed for me to fix it so it will continue to work?". I am almost always allowed the freedom to do it correctly. My favorite phrase on that topic is "Do you want it right, or do you want it right now?". 😀

    _______________________________________________________________

    Need help? Help us help you.

    Read the article at http://www.sqlservercentral.com/articles/Best+Practices/61537/ for best practices on asking questions.

    Need to split a string? Try Jeff Modens splitter http://www.sqlservercentral.com/articles/Tally+Table/72993/.

    Cross Tabs and Pivots, Part 1 – Converting Rows to Columns - http://www.sqlservercentral.com/articles/T-SQL/63681/
    Cross Tabs and Pivots, Part 2 - Dynamic Cross Tabs - http://www.sqlservercentral.com/articles/Crosstab/65048/
    Understanding and Using APPLY (Part 1) - http://www.sqlservercentral.com/articles/APPLY/69953/
    Understanding and Using APPLY (Part 2) - http://www.sqlservercentral.com/articles/APPLY/69954/

  • Sean Lange (8/3/2015)


    Michael L John (8/3/2015)


    I just left a position because I got tired of hearing "That's the way we always did it" AND 'We don't have time to do it right".

    Together, those sentences said " We really don't care".

    Well, neither do I!

    I can't begin to tell you how many times I have been asked if I can make some development deadlines faster. My typical response is something like "Sure I can shave off a couple of weeks and push this out the door. No problem. When can I schedule the four weeks in the future that will be needed for me to fix it so it will continue to work?". I am almost always allowed the freedom to do it correctly. My favorite phrase on that topic is "Do you want it right, or do you want it right now?". 😀

    I've got some managers that will go for right now. Usually, I don't care what they say and do it right.

    Luis C.
    General Disclaimer:
    Are you seriously taking the advice and code from someone from the internet without testing it? Do you at least understand it? Or can it easily kill your server?

    How to post data/code on a forum to get the best help: Option 1 / Option 2
  • Luis Cazares (8/3/2015)


    Sean Lange (8/3/2015)


    Michael L John (8/3/2015)


    I just left a position because I got tired of hearing "That's the way we always did it" AND 'We don't have time to do it right".

    Together, those sentences said " We really don't care".

    Well, neither do I!

    I can't begin to tell you how many times I have been asked if I can make some development deadlines faster. My typical response is something like "Sure I can shave off a couple of weeks and push this out the door. No problem. When can I schedule the four weeks in the future that will be needed for me to fix it so it will continue to work?". I am almost always allowed the freedom to do it correctly. My favorite phrase on that topic is "Do you want it right, or do you want it right now?". 😀

    I've got some managers that will go for right now. Usually, I don't care what they say and do it right.

    We have some of those too. I make them sign an agreement that they want the code as fast as possible and if there are bugs in the code or it doesn't do exactly what they want then the fix is a low priority. I tell them I don't mind putting it out for them but I will not do overtime or drop everything to fix it when it isn't right because I said I know it isn't right from the beginning. Not many of them will agree to it but some of them have...until I had to prove that it is a low priority fix. The situation has improved incredibly over the last few years around here. They have all started to realize that I really won't go the extra mile when corners are cut at the beginning.

    As somebody's tagline around here reads "Your failure to plan does not constitute an emergency on my part". Or as they say in the Army "proper prior planning precludes piss poor performance".

    _______________________________________________________________

    Need help? Help us help you.

    Read the article at http://www.sqlservercentral.com/articles/Best+Practices/61537/ for best practices on asking questions.

    Need to split a string? Try Jeff Modens splitter http://www.sqlservercentral.com/articles/Tally+Table/72993/.

    Cross Tabs and Pivots, Part 1 – Converting Rows to Columns - http://www.sqlservercentral.com/articles/T-SQL/63681/
    Cross Tabs and Pivots, Part 2 - Dynamic Cross Tabs - http://www.sqlservercentral.com/articles/Crosstab/65048/
    Understanding and Using APPLY (Part 1) - http://www.sqlservercentral.com/articles/APPLY/69953/
    Understanding and Using APPLY (Part 2) - http://www.sqlservercentral.com/articles/APPLY/69954/

  • Fast/Cheap/Correct: choose two. And we shouldn't question established IT orthodoxy: look what happened to Galileo!

    Wellington also had the advantage of having the gentleman English magician Jonathan Strange, at least according to a recent documentary that I saw on the subject. 😛

    We had planned to go to Waterloo for the anniversary, but me getting a job and the observatory rescheduling both shutdown and new instrument commissioning pretty well bollixed up those plans, so instead we took a river cruise from Prague to Berlin. Three days in Dresden and a week in Berlin more than made up for not getting to Waterloo.

    -----
    [font="Arial"]Knowledge is of two kinds. We know a subject ourselves or we know where we can find information upon it. --Samuel Johnson[/font]

  • But we've always done it that way…

    Often times organizations will worship at the alter of process without focussing on how that process relates to outcomes. Instead, however, process should be seen as a set of tools for repeating success. We should never blindly follow the footsteps of past failure. If you're the new DBA, and the previous DBA was terminated, then you should question everything regarding the process and best practices that you've inherited. Otherwise you're just setting yourself up to be cannon fodder.

    "Do not seek to follow in the footsteps of the wise. Instead, seek what they sought." - Matsuo Basho

  • Wayne West (8/3/2015)


    Wellington also had the advantage of having the gentleman English magician Jonathan Strange, at least according to a recent documentary that I saw on the subject. 😛

    Is he related in any way to Doctor Stephen Vincent Strange?

    Luis C.
    General Disclaimer:
    Are you seriously taking the advice and code from someone from the internet without testing it? Do you at least understand it? Or can it easily kill your server?

    How to post data/code on a forum to get the best help: Option 1 / Option 2
  • Sean Lange (8/3/2015)


    Luis Cazares (8/3/2015)


    Sean Lange (8/3/2015)


    Michael L John (8/3/2015)


    I just left a position because I got tired of hearing "That's the way we always did it" AND 'We don't have time to do it right".

    Together, those sentences said " We really don't care".

    Well, neither do I!

    I can't begin to tell you how many times I have been asked if I can make some development deadlines faster. My typical response is something like "Sure I can shave off a couple of weeks and push this out the door. No problem. When can I schedule the four weeks in the future that will be needed for me to fix it so it will continue to work?". I am almost always allowed the freedom to do it correctly. My favorite phrase on that topic is "Do you want it right, or do you want it right now?". 😀

    I've got some managers that will go for right now. Usually, I don't care what they say and do it right.

    We have some of those too. I make them sign an agreement that they want the code as fast as possible and if there are bugs in the code or it doesn't do exactly what they want then the fix is a low priority. I tell them I don't mind putting it out for them but I will not do overtime or drop everything to fix it when it isn't right because I said I know it isn't right from the beginning. Not many of them will agree to it but some of them have...until I had to prove that it is a low priority fix. The situation has improved incredibly over the last few years around here. They have all started to realize that I really won't go the extra mile when corners are cut at the beginning.

    As somebody's tagline around here reads "Your failure to plan does not constitute an emergency on my part". Or as they say in the Army "proper prior planning precludes piss poor performance".

    I used to work for a director who often said: "We never seem to have the time to do it right, but we have no problem finding the time to do it twice."



    Alvin Ramard
    Memphis PASS Chapter[/url]

    All my SSC forum answers come with a money back guarantee. If you didn't like the answer then I'll gladly refund what you paid for it.

    For best practices on asking questions, please read the following article: Forum Etiquette: How to post data/code on a forum to get the best help[/url]

  • Hmm... what's fun is when good processes get built around bad processes and then the bad processes can't be fixed without redoing a lot more things.

Viewing 15 posts - 1 through 15 (of 35 total)

You must be logged in to reply to this topic. Login to reply