• Tell your senior DBA that he should check his facts before making statements like that. It's trivial to prove he's wrong.

    CREATE TABLE TestingInsertOrder (

    ID UNIQUEIDENTIFIER PRIMARY KEY,

    Filler CHAR(50)

    )

    GO

    INSERT INTO TestingInsertOrder (ID)

    SELECT TOP (50000) NEWID()

    FROM master.sys.columns a CROSS JOIN master.sys.columns b

    I'm sure we'll all agree that there's no way that the newID will be generated in order? If what your senior DBA says is true, SQL will insert them in the random order they're generated. But check the execution plan.

    http://www.sqlservercentral.com/Forums/Attachment6774.aspx

    There's a sort operator in there, sorting the rows into the clustered index order prior to the insert.

    Gail Shaw
    Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
    SQL In The Wild: Discussions on DB performance with occasional diversions into recoverability

    We walk in the dark places no others will enter
    We stand on the bridge and no one may pass