Моя проблема касается ключа природы и auto_increment integer в качестве первичного ключа.ключ природы vs auto_increment ключ как первичный ключ
Например, у меня есть таблицы A
и B
и A_B_relation
. A и B могут быть некоторыми объектами, и A_B_realtion
записывают отношение многих к большому числу A и B.
И A, и B имеют свой собственный глобальный уникальный идентификатор, такой как UUID. UUID доступен для пользователя, это означает, что пользователь может запросить A или B по UUID.
Существует два способа создания первичного ключа таблицы.
- использовать значение auto_increment integer.
A_B_relation
ссылается на целое число как FK. - используйте UUID.
A_B_relation
ссылается на UUID как FK.
Например, пользователь хочет запросить информацию об ассоциированной информации B с помощью UUID от A.
В первом случае, поток запросов заключается в следующем:
First, query A's integer primary key by UUID from `A`.
And then, query all the B's integer primary key from `A_B_relation`.
At last, query all the B's info from `B`.
В последнем случае поток, как показано ниже:
Query all the B's UUID from the `A_B_relation` by A's UUID.
Query all the B's info from `B`.
Так что я думаю, последний случай является более удобным , Это правильно? какова нехватка последнего случая?