关系中字段类型的逻辑
The logic of field type in relationship
我有一些 table 用于用户偏好,例如 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
我想在这些 table 和 users
table 之间创建一个关系,我想知道哪个字段更适合外键?例如 currency
table currency.id
或 currency.slug
?
如果您看到 sql 速度比您应该选择 currency.id 因为从手数中找到 整数 值这么多行(以千计)会更快 然后找到 varchar.
但是在这里你看到货币不会超过 500 所以你可以同时使用它不会影响你的速度。
您可以在此特定示例中同时使用两者:
currency.id 或 currency.slug
我建议您使用currency.id建立关系。应该使用主键建立关系对于大量数据。
我有一些 table 用于用户偏好,例如 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
我想在这些 table 和 users
table 之间创建一个关系,我想知道哪个字段更适合外键?例如 currency
table currency.id
或 currency.slug
?
如果您看到 sql 速度比您应该选择 currency.id 因为从手数中找到 整数 值这么多行(以千计)会更快 然后找到 varchar.
但是在这里你看到货币不会超过 500 所以你可以同时使用它不会影响你的速度。
您可以在此特定示例中同时使用两者: currency.id 或 currency.slug
我建议您使用currency.id建立关系。应该使用主键建立关系对于大量数据。