我刚刚做了一些 Int PK join Vs Guid PK 的测试。
表结构和记录数看起来像这样:
在这两种情况下,使用 EF4 的 CRUD 操作性能非常相似。
众所周知,在连接中使用 Int PK 比字符串具有更好的性能。 所以带有INNER JOINS的SQL server执行计划是完全不同的
这是一个执行计划:
据我了解,根据上面的执行计划,Int join 具有更好的性能,因为它为聚集索引扫描占用的资源更少,并且它有两种方式,我说的对吗?
有人可以更详细地解释这个执行计划吗?
这个例子是否足以说明 Int PK 在连接中有更好的性能?
最佳答案
Kimberly Tripp(索引女王)有一篇关于该主题的优秀博客文章:
Disk space is cheap.... that's not the point!
她很好地展示了“磁盘空间很便宜——使用 GUID 而不是 INT 没有坏处”的说法在很多方面都是完全虚假的。
关于sql-server - SQL Server 上的 Int PK 内部联接与 Guid PK 内部联接。执行计划,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4600918/