我们的数据库库是使用 EF-6 代码优先方法设计的。最初,我们设计了数据库,同时sharding architecture
考虑到多租户。
然而,随着 Azure 上经济和专用数据库层的普及,这似乎不再是一个明智的架构,以便在应用程序级别处理 SQL Server 数据库的水平拆分。
由于已知 Guid.NewGuid() 会导致索引中的碎片,而整数主键则不会。Microsoft 支持建议使用顺序 Guid 而不是 Guid.NewGuid()。
有了这种架构背景,我越来越倾向于永远停止使用 Guid 作为主键。
对于现代应用程序架构师来说,合并和拆分 DB 似乎不再是一个明智的选择。
纠正我,如果需要,请!
在 SQL Server 中使用 Sequential Guid 而不是 Integer 主键有什么优势吗?