Ond*_*rka 9 sql sql-server guid primary-key
如何通过SQL(特别是MS SQL Server 2008)在内部存储和比较GUID?是数字还是字符串?此外,使用GUID作为主键时是否会有很大的性能影响?
除了这里提到的聚类问题: 使用GUID作为主键的最佳实践是什么,特别是关于性能?
我觉得应该是128位数字(如描述在这里),但我不能找到它是如何在SQL服务器中实现模式的详细信息.
Mik*_*Lim 13
性能方面,正常GUID比INTSQL Server 慢
如果您打算使用GUID,请使用uniqueidentifier而不是varchar数据类型.微软没有提到他们如何实现它,当你uniqueidentifier用作数据类型时,有一些速度优化.
要GUID在不牺牲整数速度的情况下用作主键,请使GUID值顺序.将uniqueidentifier数据类型定义为PK,将默认值设置为NEWSEQUENTIALID().
有关更多详细信息,请参阅NEWSEQUENTIALID(Transact-SQL).
有关顺序GUID值如何帮助提高性能,请参阅GUID成本作为主键.
16字节,与GUID结构完全相同:
typedef struct _GUID {
DWORD Data1;
WORD Data2;
WORD Data3;
BYTE Data4[8];
} GUID;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
28869 次 |
| 最近记录: |