I wouldn't use a GUID at all if I can avoid it... Sequential or otherwise...
One of the advantages of guid is the difficulty in guessing.
Um no... The advantage is that they avoid collisions. Difficulty of guessing the next value is simply a byproduct of that.
The act of generating N number of GUIDs in advance, presorting them, and then using them in a sorted order, does nothing to change that... Nor does it make it possible to "guess the next one".
If you use NEWSEQUENTIALID it is simple to guess the next value because it is known.
I'm calling BS... If you want to make this claim, you need to prove it.
OK. This isn't all that hard to demonstrate that NEWSEQUENTAILID will create these values sequentially. It will increment the second character by 1 from 0 - 9 then A - F. It will then increment the first character by one and start over.
create table GUIDTest
MyID uniqueidentifier not null default NEWSEQUENTIALID()
GO 20 --20 new rows in our table each in a separate batch
drop table GUIDTest
I would make a strong argument against using this because an identity is so much simpler to use and takes a lot less storage.
My quote starts with, "IF you have to resort to using a GUID"... I'm not sure how you translated that into me endorsing the use GUIDs over the use of integers...
My comment simply acknowledged that there may be circumstances where you may not have a choice in the matter... and in THAT circumstance, use NEWSEQUENTIALID.
And my comment is that if you have to resort to uniqueidentifier but using NEWSEQUENTIALID is ok then you do not need to use uniqueidentifier at all. If NEWSEQUENTIALID is acceptable than it is the wrong datatype in the design.
If you use sequential values like this you have lost all of the advantages of the guid datatype and maintain all of the cons.
If you consider rampant "bad" page splits that can only be mediated by setting ridiculously low fill factors an "advantage", then we clearly have different definitions of that word...
Of course I don't consider that to be good. Perhaps this was not communicated clearly. Clearly I said something in my post that got your feathers ruffled. I truly apologize for that because that was not my intention and by no means was I attempting to discredit you or make this a personal attack.