Inefficient: If using UNIQUEIDENTIFIER it is not so bad as that is still a binary comparisons, just like with INT, but is 16 bytes unlike INT which is 4.Wide: 72 bytes per row (GUID is 16 bytes, which is 32 characters in string form for the hex values plus 4 dashes for 36 characters total, which is 72 bytes in UTF-16 / NVARCHAR).You are wanting to change this to a Clustered PK that is: Minimally Fragmenting: new values are sequential and added to the end of the table.Efficient: comparisons are simple 4-byte-value-to-4-byte-value (i.e.You currently have a PK (Clustered, I assume) that is: You do not want to make that change as no good can come of it. Every tables of my database has id primary key column and I want to change them to nvarchar(36) with default newID()