【发布时间】:2015-01-28 16:20:50
【问题描述】:
MVC/EF 的 ASP.NET 身份代码将用户 ID 存储为 nvarchar(128)。这看起来像一个 GUID。我更喜欢对 ID/私钥使用顺序 GUID 来提高性能。如何验证为 ASP.NET 标识生成 GUID 的代码是连续的?我无法找到代码库的那部分。
【问题讨论】:
-
你可以用
Int32代替GUID,你为什么要关心性能?如果它是桌子上的一个 PK,它就会被索引。 -
可能是数据库生成的。无论如何,由于潜在的冲突,它可能不会是连续的。让它按顺序排列实际上并不能提高性能。
-
请不要说顺序 Guid 不会提高性能:stackoverflow.com/questions/170346/…。你可以阅读这个问题。
-
@mybirthname 很公平。实际上,这个问题指出了关于 newsequentialid 的事情,这提醒了我——如果你使用 SQL Server,EF 实际上会使用 newsequentialid 生成数据库,但如果你使用的是 Azure,则不会,因为那里不支持它(因为并发担忧)。所以这可能回答了 OP 的问题——如果他使用传统的 MSSQL,它将(可能)是连续的。
标签: c# asp.net-identity