Search code examples
c#sqlguid

Are GUIDs timely ordered ? If ORDER BY used with a GUID variable type, will records created lately come late?


Are GUIDs timely ordered ? I mean if you use ORDER BY with a GUID variable type, will records created lately come late ?


Solution

  • A simple LINQPad mockup answers your question:

    var dictionary = new Dictionary<int, Guid>();
    
    for (int i = 0; i < 5; i++)
        dictionary.Add(i, Guid.NewGuid());
    
    dictionary.OrderBy(d => d.Value);
    

    Results in:

    Key Value 
    2   3624183d-581a-45bc-9d3d-cafeddaf8585 
    0   4b4685c9-f163-4694-ae8c-4b83402a293c 
    4   7a14d8e4-d870-4f33-bfb3-f4337b756e18 
    1   b93131c7-c0d7-42b4-82b5-e3cc456214a9 
    3   cfdc0bc8-7f5a-4601-a927-a759bb9e33c6