March 31, 2010 at 10:28 pm
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
April 1, 2010 at 2:44 am
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 π
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
April 1, 2010 at 4:15 am
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
Paul White
SQLPerformance.com
SQLkiwi blog
@SQL_Kiwi
April 1, 2010 at 6:05 am
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
Change is inevitable... Change for the better is not.
April 1, 2010 at 6:06 am
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
Change is inevitable... Change for the better is not.
April 1, 2010 at 6:50 am
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
April 1, 2010 at 7:12 am
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!
Paul White
SQLPerformance.com
SQLkiwi blog
@SQL_Kiwi
April 1, 2010 at 7:16 am
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 π
April 1, 2010 at 7:36 am
dma-669038 (4/1/2010)
Hi Paul, could you elaborateIF (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
Paul White
SQLPerformance.com
SQLkiwi blog
@SQL_Kiwi
April 1, 2010 at 7:40 am
Wow, interesting. What would you mean by 'start up cost'? Thank you.
April 1, 2010 at 7:58 am
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
SQLPerformance.com
SQLkiwi blog
@SQL_Kiwi
April 1, 2010 at 7:59 am
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?
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
April 1, 2010 at 8:01 am
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.
April 1, 2010 at 8:05 am
Chris Morris-439714 (4/1/2010)
I love these answers. Who needs a thumping great book?
You do, dear :laugh:
(private joke)
Paul White
SQLPerformance.com
SQLkiwi blog
@SQL_Kiwi
April 1, 2010 at 8:09 am
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!
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