Я создаю базу данных для словаря.Рассмотрим таблицу WORD.Мой текущий план состоит в том, чтобы сделать его первичный ключ word_id
, который будет целым числом, а затем присвоить ему другой атрибут text
, который представляет собой текстовое представление слова.
Однако я подумал, что, поскольку это словарьвсе определения, произношения и части речи, относящиеся к одному слову, будут найдены прямо под его заголовком, и нет абсолютно никакого способа, чтобы другие слова, имеющие такое же написание, имели другую страницу.Поэтому, сделать text
первичным ключом имеет смысл, и мне не нужно иметь word_id
.
. Мой вопрос сейчас, какой метод будет работать быстрее?Похоже, лучше дать ему целочисленный первичный ключ, поскольку это легко сопоставимый примитивный тип, что особенно полезно при проверке его как внешнего ключа других таблиц.Я не уверен, но я думаю, что, если первичный ключ был строкой, проверка его по внешним ключам других таблиц требует базового сравнения для каждого символа, которое занимает больше времени, плюс дополнительное бремя проверки без учета регистра.
Кроме того, если скорость не такая большая проблема, есть ли другие факторы, которые я должен учитывать?База данных, которую я собираюсь использовать, - MySQL.