6
A
回答
3
虽然你可以为nvarchar为外键,但我不建议你使用为nvarchar作为外键。有很多原因,我认为非常重要的一个原因是当你要JOIN时,nvarchar会比int慢。
如果我使用nvarchar字段作为外键,会对性能产生负面影响吗?
是肯定会有性能问题,因为一个int使用4字节的数据,并且通常比NVARCHAR更快。
您还可以通过采取列INT和nvarchar检查通过使用存储过程sp_spaceused
使用的空间,你会发现差别。
EXEC sp_spaceused 'TableName'
相关问题
- 1. 我怎样才能为每个外键
- 2. #怎么样!工作,我怎样才能使它适用于CoffeeScript?
- 3. 怎么能一个多主键的一列被用作外键
- 4. MySQL - 也使用外键作为主键
- 5. 使用复合主键作为外键
- 6. 使用外键作为主键
- 7. jQuery,使用〜作为id的一部分 - 怎么样?
- 8. 由外键的SQL查询组怎么样?
- 9. #怎么样! shebang的工作?
- 10. 制作按钮怎么样?
- 11. 制作图库,怎么样?
- 12. 为什么要使用外键?
- 13. 为什么使用继承的外键不起作用?
- 14. Matlab的外置函数?怎么样?
- 15. 制作通用查询,怎么样?
- 16. 是否可以在Grails之外使用Grails验证?怎么样?
- 17. 在Postgresql中使用tableoids作为外键
- 18. Grails:外键作为主键?
- 19. 复合键作为外键?
- 20. 有作为外键
- 21. Web2py:id作为外键
- 22. 怎么样IE11
- 23. 使用使preg_split从去“嗨你好”为[嗨,你怎么样]
- 24. 我怎么可以这样使用Hibernate
- 25. 怎么样,并在查询中使用
- 26. 在eclipse中使用googletest:怎么样?
- 27. 使用git和rtc - rsync怎么样?
- 28. 使用jQuery的Joomla模块。 - 怎么样?
- 29. 怎么听回车键使用JOptionPane.showOptionDialog
- 30. 像nvarchar一样工作不正常?
是[这](http://stackoverflow.com/questions/17469677/does-it-worth-switching-a-primary-key-from-the-type-nvarchar-to-the-type -int)相关? – Alexander
@AmitAgrawal'nvarchar'可以是外键 – zzlalani
是的,它会对性能产生负面影响 - 因为varchar的潜在大小和可变长度。另外:由于您正在比较字符串,因此您可能会遇到(a)拼写和(b)大写和小写字母(如果您的归类有时区分大小写,其他时间区分大小写)的问题。总而言之 - 你*可以*使用'varchar'作为FK - 但是如果可能的话,我会推荐它 –