INT Data Type:
- Its required small space in terms of the storage it will only allocates 4 bytes to store data.
- Insert and update performance will be faster then the GUID. It will increase the performance of the application.
- Easy to index and Join will give best performance with the integer.
- Easy to understand and remember
- Support of function that will give last value generated like Scope_Indentity()
- If you are going to merge table frequently then there may be a chance to duplicated primary key.
- Limited range of uniqueness if you are going to store lots of data then it may be chance to run out of storage for INT data type.
- Hard to work with distributed tables.
GUID Data Type:
- It is unique for the current domains. For primary key is uniquely identifies the table.
- Less chances of for duplication.
- Suitable for inserting and updating large amount of data.
- Easy for merging data across servers.
- Bigger storage size (16bytes) will occupy more disk size then integer.
- Hard to remember and lower performance with Join then integer.
- Don’t have function to get last uniquely generated primary key.
- A GUID primary Key will added to all the other indexes on tables. So it will decrease the performance.