我有一些用于用户首选项的表,例如currency
,language
和...currency
结构和样本记录:
id | title | slug
----+------------+--------
1 | US Dollar | usd
2 | CA Dollar | cad
3 | Euro | eur
4 | Swiss Franc| chf
language
结构和样本记录:id | title | code | flag
----+-------------+-----------+----------
1 | English | en | img/flags/en.png
2 | French | fr | img/flags/fr.png
我想在这些表和
users
表之间创建关系,我想知道哪个字段更适合外键?例如在currency
表currency.id
或currency.slug
中? 最佳答案
如果您看到的是sql速度,则应该使用currency.id,因为从这么多的行(成千上万)中查找整数值会比查找varchar更快。
但是在这里,您会看到货币不会超过500,因此您可以同时使用这两种货币不会影响您的速度。
您可以在此特定示例中同时使用两者:
currency.id或currency.slug
关于mysql - 关系中字段类型的逻辑,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40486998/