Динамическое программирование на F #

Короткий ответ: да.

Длинный ответ:

  • Вам нужно, чтобы ваша таблица была присоединена к чему-то
  • Если вы хотите, чтобы ваша таблица кластеризовать, вам нужен какой-то первичный ключ.
  • Если вашему дизайну таблицы не нужен первичный ключ, переосмыслите свой дизайн: скорее всего, вам что-то не хватает. Зачем хранить одинаковые записи?

В MySQL механизм хранения InnoDB всегда создает первичный ключ, если вы не указали его явно, что делает дополнительный столбец, к которому у вас нет доступа.

Обратите внимание, что первичный ключ может быть составным.

Если у вас есть таблица ссылок «многие ко многим», вы создаете первичный ключ во всех полях, связанных с ссылкой. Таким образом, вы гарантируете, что у вас нет двух или более записей, описывающих одну ссылку.

Помимо проблем логической согласованности, большинству двигателей RDBMS будет полезно включить эти поля в уникальный индекс.

И поскольку любой первичный ключ включает создание уникального индекса, вы должны объявить его и получить как логическую согласованность, так и производительность.

См. Эту статью в своем блоге, почему вы всегда должны создавать уникальный индекс по уникальным данным:

PS Есть некоторые очень, очень специальные случаи, когда вам не нужен первичный ключ.

В основном они включают в себя таблицы журналов, которые не имеют any индексы по причинам производительности.

10
задан ildjarn 2 November 2011 в 20:13
поделиться