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 - 但是如果可能的話,我會推薦它 –