Вопрос:
У меня есть 2 таблицы:
Product
id INT
name VARCHAR(64)
something TEXT
else INT
entirely BOOL
и
Ingredient
id INT
name VARCHAR(64)
description TEXT
Теперь у меня также есть таблица ссылок
Products_Ingredients
product_id INT
ingredient_id INT
для моего отношения «многие ко многим».
Теперь и продукты, и ингредиенты будут иметь уникальные названия. Итак, я могу использовать имена как естественные ключи ... но будет ли это хорошей идеей?
Допустим, у меня есть продукт: Paint Thinner Supreme
с ингредиентом: Butylonitrotetrocycline
Будет ли хорошей идеей использовать эти названия в качестве составного ключа в таблице ссылок ?
Насколько я понимаю идею использования естественных ключей вместо суррогатов, я не могу перестать думать, что использование простых целых чисел в качестве первичных ключей (и внешних) будет намного быстрее. Будет ли разница в том, как сервер MySQL переваривает эти разные ключи?
Каково ваше мнение?