【发布时间】:2010-10-26 07:44:19
【问题描述】:
我有一个解决方案,我在其中插入使用 GUID 而不是标识的行。 Guid 是在 c# 中生成的。
我有另一个解决方案,其中表、索引等是相同的,但我使用身份而不是 GUID,让 Sql-server 生成它们。
在后一种情况下,我遇到了性能问题....想法?
编辑
真的很抱歉!我回到家安装了分析器,发现我正在比较苹果和梨……我身边的一个大小姐。我正在调用不同的sql。现在持续时间大致相同。
【问题讨论】:
-
嘿,丹尼尔,您能说明一下您所说的性能问题对我们所有人的含义吗?您在插入时看到的 IO 速度是多少,每秒插入多少次等。
-
我知道这个问题有点含糊。我无法访问正确的代码。我将在今天晚些时候提供统计数据等...对不起!
-
但是像父行:1000,子行大约是:10 000; Guid 解决方案需要 0.6 秒,身份解决方案需要 2.5 秒。
-
了解表架构和您有哪些索引会有所帮助:可能存在影响的集群或填充因子问题,但查看完整表架构 + 示例插入语句会有所帮助更好地评估这一点。
标签: sql-server insert identity