The Missing Certification

  • And once again we head down the rabbit hole to Wonderland. Sorry, but what you wrote above is simply gibberish.

    Goodnight.

    Kind regards,
    Gift Peddie

  • CirquedeSQLeil (3/31/2010)


    Jeff Moden (3/31/2010)


    Grant Fritchey (3/31/2010)


    dma-669038 (3/31/2010)


    Well said. And 100 percent in agreement. Want to share one expereince - One guy i talked to did not know the difference between table scan and index seek except that 'it ran faster') - he didn't have certs on him but a few years experience so I asked how he didn't know something more, (same exact words) - he responded rather strongly that 'he knew enough to keep the job'- had to be escorted out since he sounded threatening. 'Yeah if you wanna be a geek okay but i only learn enough to keep the job'....For someone from another culture it was quite a threatening experience and scary..was just wondering if anyone has heard or experienced similar.

    Oh yeah, but luckily all the belligerent people I've run into have been during phone interviews. The best one was the guy who said, after getting really basic information wrong, like the difference between a clustered index and a nonclustered index, that we were "Asking questions that were too Microsoft specific." And then he went on a screed about how we clearly didn't know what we were doing because we were building databases on SQL Server and taking advantage of SQL Server behaviors rather than building the databases in the most generic possible fashion so that the could be ported to any other platform on a moment's notice. Oh, and by the way, he was certified and had 10 years experience....

    The reason I'd like to see a certification that clearly demands more than the existing certs (MCM absolutely excepted) is because of jerks like that.

    Heh... sounds like many of the ANSI/ISO zealots we've run into on these very forums. Everyone who thinks writing truly portable code isn't a myth especially in a batch environment, please raise your hand... then leave. πŸ˜›

    Code is portable?

    Sure it is...do your dev on your lappy 😎

    β€œWrite the query the simplest way. If through testing it becomes clear that the performance is inadequate, consider alternative query forms.” - Gail Shaw

    For fast, accurate and documented assistance in answering your questions, please read this article.
    Understanding and using APPLY, (I) and (II) Paul White
    Hidden RBAR: Triangular Joins / The "Numbers" or "Tally" Table: What it is and how it replaces a loop Jeff Moden

  • Lynn Pettis (3/31/2010)


    GilaMonster (3/31/2010)


    WayneS (3/31/2010)


    Makes me wonder what he thinks the difference is between a table scan and a clustered index scan...

    That's an evil question to ask.... So many ways to get it wrong.

    Tell me if I'm wrong, but I've always thought that they were the same, except you'd get a table scan on a heap and a clustered index scan where a clustered index existed. If so, how would you get it wrong? Is it that I'm not thinking like a gamer?

    They might be exactly the same thing IF (the execution plan specifies ordered:false to the storage engine) AND (the effective isolation level is read uncommitted OR a table lock is taken OR the data is read-only) AND (at least 64 pages must be read). Both would then result in an IAM-ordered scan, exactly as for a heap.

    It is a brilliant question to ask.

    edit: Incorporated Gus' point about read-only data

  • CirquedeSQLeil (3/31/2010)


    Jeff Moden (3/31/2010)


    Heh... and not to worry... part of my goal is to help keep the lights on. πŸ˜‰

    Thanks. Now every time I read a post by you, I will hear the voice of the Motel 6 dude.

    πŸ™‚

    --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)
    Intro to Tally Tables and Functions

  • Gift Peddie (3/31/2010)


    Heh... and not to worry... part of my goal is to help keep the lights on.

    Thanks Microsoft made someone else MVP that was more important to me than mine renewed. She is smarter than most of their .NET stars and no we don't write the same language. I am happy Microsoft may not want me monitoring crocodiles breeding grounds and leopard head count in Canonical running MySQL or Oracle.

    So long as it's not ISO, I'm a happy camper.

    --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)
    Intro to Tally Tables and Functions

  • Paul White NZ (4/1/2010)


    Lynn Pettis (3/31/2010)


    GilaMonster (3/31/2010)


    WayneS (3/31/2010)


    Makes me wonder what he thinks the difference is between a table scan and a clustered index scan...

    That's an evil question to ask.... So many ways to get it wrong.

    Tell me if I'm wrong, but I've always thought that they were the same, except you'd get a table scan on a heap and a clustered index scan where a clustered index existed. If so, how would you get it wrong? Is it that I'm not thinking like a gamer?

    They might be exactly the same thing IF (the execution plan specifies ordered:false to the storage engine) AND (the effective isolation level is read uncommitted OR a table lock is taken). Both would then result in an IAM-ordered scan, exactly as for a heap.

    It is a brilliant question to ask.

    Could also happen if the table is in a read-only file or datbase, which has the same effect as read uncommitted but without the risks associated with concurrent page splits, et al.

    - Gus "GSquared", RSVP, OODA, MAP, NMVP, FAQ, SAT, SQL, DNA, RNA, UOI, IOU, AM, PM, AD, BC, BCE, USA, UN, CF, ROFL, LOL, ETC
    Property of The Thread

    "Nobody knows the age of the human race, but everyone agrees it's old enough to know better." - Anon

  • GSquared (4/1/2010)


    Could also happen if the table is in a read-only file or datbase, which has the same effect as read uncommitted but without the risks associated with concurrent page splits, et al.

    And if there are at least 64 pages to read πŸ™‚

    I love this question!

  • Hi Paul, could you elaborate

    IF (the execution plan specifies ordered:false to the storage engine) , the rest of it is clear and yes brilliant πŸ™‚

  • dma-669038 (4/1/2010)


    Hi Paul, could you elaborate

    IF (the execution plan specifies ordered:false to the storage engine) , the rest of it is clear and yes brilliant πŸ™‚

    Sure. Query plan operators that directly fetch data (like an index scan or seek) can set a property to say whether the plan depends on receiving results in a guaranteed order or not. You can see these properties by clicking on the plan operator and looking in the properties window (or by looking at the XML plan).

    One of these properties is named 'Ordered' and can be True or False. When the Storage Engine processes the request, it uses this flag to determine which options it has to fetch the data. An Ordered:True scan must be satisfied by traversing the linked list of pages in the index (to guarantee logical order). Ordered:False may allow the engine to consider a scan based on the Index Allocation Map, which can be faster for larger scans, but has a start-up cost.

    Example showplan XML:

    <IndexScan Ordered="true" ScanDirection="FORWARD" ForcedIndex="false" ForceSeek="false" NoExpandHint="false">

    More details: http://blogs.msdn.com/sqlserverstorageengine/archive/2006/11/09/when-can-allocation-order-scans-be-used.aspx

  • Wow, interesting. What would you mean by 'start up cost'? Thank you.

  • dma-669038 (4/1/2010)


    Wow, interesting. What would you mean by 'start up cost'? Thank you.

    Just that there is obviously a cost associated with preparing the allocation-order scan - reading the IAM pages and so forth. That cost is quite small, but not zero.

  • Paul White NZ (4/1/2010)


    GSquared (4/1/2010)


    Could also happen if the table is in a read-only file or datbase, which has the same effect as read uncommitted but without the risks associated with concurrent page splits, et al.

    And if there are at least 64 pages to read πŸ™‚

    I love this question!

    I love these answers. Who needs a thumping great book?

    β€œWrite the query the simplest way. If through testing it becomes clear that the performance is inadequate, consider alternative query forms.” - Gail Shaw

    For fast, accurate and documented assistance in answering your questions, please read this article.
    Understanding and using APPLY, (I) and (II) Paul White
    Hidden RBAR: Triangular Joins / The "Numbers" or "Tally" Table: What it is and how it replaces a loop Jeff Moden

  • Paul White NZ (4/1/2010)


    dma-669038 (4/1/2010)


    Wow, interesting. What would you mean by 'start up cost'? Thank you.

    Just that there is obviously a cost associated with preparing the allocation-order scan - reading the IAM pages and so forth. That cost is quite small, but not zero.

    Thank you - very good to know, yeah if you keep up with nuggets like this on this site no books are really necessary.

  • Chris Morris-439714 (4/1/2010)


    I love these answers. Who needs a thumping great book?

    You do, dear :laugh:

    (private joke)

  • Paul White NZ (4/1/2010)


    Chris Morris-439714 (4/1/2010)


    I love these answers. Who needs a thumping great book?

    You do, dear :laugh:

    (private joke)

    Oh doen't!

    β€œWrite the query the simplest way. If through testing it becomes clear that the performance is inadequate, consider alternative query forms.” - Gail Shaw

    For fast, accurate and documented assistance in answering your questions, please read this article.
    Understanding and using APPLY, (I) and (II) Paul White
    Hidden RBAR: Triangular Joins / The "Numbers" or "Tally" Table: What it is and how it replaces a loop Jeff Moden

Viewing 15 posts - 496 through 510 (of 685 total)

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