У меня вопрос, что мы должны использовать либо Int/GUID в таблице. Используйте этот сценарий.SQL SERVER - INT Vs GUID -wht мы должны использовать
Использовать BIGINT
как первичный ключ - кластерный и т. Д., Для объединения, быстрого поиска и т. Д., Т. Е. Оптимизирован для поиска и удобства пользователя.
У вас есть GUID
как ваш уникальный маркер для записи, это то, что вы используете при переносе данных по серверам/приложениям и т. Д. Это никогда не будет отображаться для пользователей, но будет прикреплено к всем записям.
Это дает вам лучшее из обоих миров, вы избегаете фрагментации и производительности при использовании GUIDs
в качестве первичного ключа, но сохраняете свою выгоду, когда ваши движущиеся данные передают между системами, так как вы можете самостоятельно идентифицировать запись.
Некоторые могут утверждать, что дополнительные затраты на хранение чрезмерны, но я бы сказал, что потратить несколько долларов больше на вашу SAN дешевле в долгосрочной перспективе, чем пытаться сделать две разные вещи с одним и тем же столбцом данных.