联接上的外键类型

杰森·R。

我已经读过,在FK上联接表时,联接所基于的列的数据类型会影响性能。例如,联接int比联接上varchar(128)我的问题,这是一个正确的语句,因为基于数据类型或该数据类型中的值联接基于字段的联接更快吗?

例如,如果我对-2,147,483,648的值进行联接,是否比“ J”的值的联接快,因为假设“ J”来自varchar(128)字段,那么“ J”会占用数据库中更多的空间如果值1的联接都来自整数列,它们是否以与-2,147,483,648相同的速度发生?

穆雷尼克

进行相等比较(不涉及类型转换或转换)的主要因素是数据类型的大小。SQL Server中的整数类型具有固定大小(a为4字节int,a8字节bigint,等等-有关详细信息,请参阅文档),因此实际数据无关紧要。Varchar另一方面,(与chars相反),s的大小取决于数据的大小(有关详细信息,请参见文档),因此,较短的数据确实可能会影响查询的性能,但是您必须有很多行可以注意到任何区别。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章