有什么原因为什么我不应该将整数用作表的主键?
数据库是SQL- CE,两个主表,每年约50,000个条目,以及一些次要表。只有两个连接会不断向数据库开放。但是更新将通过多个TCP套接字连接触发,因此将有许多访问和使用同一数据库连接的跨线程。尽管活动非常少,所以同时更新的可能性很小,但每天最多可能会发生两次。
可能会将LINQ2SQL用于DAL或类型化的数据集。
不知道此信息是否相关,但这就是我要问的原因,因为我不知道:)
使用GUIDprimkey的优点是它在世界上应该是唯一的,例如是否将数据从一个数据库移动到另一个数据库。因此,您知道该行是唯一的。
GUID
但是,如果我们谈论的是小数据库,那么我更喜欢整数。
编辑:
如果您使用的是SQL Server 2005 ++,是否还可以使用NEWSEQUENTIALID(),它会根据上面的行生成一个GUID。因此,不再存在newid()的索引问题。