• Unlike Oracle?!?!?!  The idea that Oracle runs perfectly fine with cursors is a complete fiction!  What is true is that Oracle (the company) doesn't make as big a deal of it as Microsoft does, and  consequently almost no Oracle books even mention the fact that cursors are performance killers.  Rather than being a point in Oracle's favor, I view this as tantamount to false advertising.  But unfortunately, this false idea is pervasive among developers and DBA's alike. 

    I have worked extensively with Oracle, but since I started in SQL Server, I had a strong anti-cursor mindset pounded into me from the start (thank goodness).  When I started working with Oracle and saw the extensive use of PL/SQL (which is all cursor-based as opposed to SQL) I questioned some of the developers and my fellow DBA's.  At first I believed the line that "Oracle does fine with cursors."  But after several months of familiarization, I decided to re-write some of the PL/SQL code to use JOINS instead of cursors etc...  What I saw confirmed my suspicions.  The same logic using SQL was many times faster than PL/SQL; in many cases it was an order of magnatude faster!

    I couldn't believe that an entire department of developers and DBA's just swallowed such an unlikely line of BS.  There is nothing magical about Oracle, it handles sets much more efficiently than row-at-a-time operations, just like SQL Server (and DB2 for that matter).  Conversely, there is nothing "wrong" in SQL Server as compared with Oracle. 

    /*****************

    If most people are not willing to see the difficulty, this is mainly because, consciously or unconsciously, they assume that it will be they who will settle these questions for the others, and because they are convinced of their own capacity to do this. -Friedrich August von Hayek

    *****************/