Вопрос:
У меня есть 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 переваривает эти разные ключи?
Каково ваше мнение?