我有一些用于用户首选项的表,例如currencylanguage和...

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表之间创建关系,我想知道哪个字段更适合外键?例如在currencycurrency.idcurrency.slug中?

最佳答案

如果您看到的是sql速度,则应该使用currency.id,因为从这么多的行(成千上万)中查找整数值会比查找varchar更快。

但是在这里,您会看到货币不会超过500,因此您可以同时使用这两种货币不会影响您的速度。

您可以在此特定示例中同时使用两者:
currency.id或currency.slug

关于mysql - 关系中字段类型的逻辑,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40486998/

10-12 02:27