You are misguided.
SQL tables represent unordered sets. If you want a result set in a particular order, then you need to use an ORDER BY
clause in the query. The SQL optimizer might not use the ORDER BY
, finding another way to return the results in order.
You can have an identity
column that is not the primary key. But actually, you can have both an identity
column and a guid
column, with the former as the primary key and the latter as a unique key. Another solution is to have a CreatedAt
datetime. You can use this for ordering . . . or even as a clustered index if you really wanted to.