KEY
и INDEX
являются синонимами в MySQL.Они имеют в виду одно и то же.В базах данных вы должны использовать indexes для повышения скорости поиска данных.Индекс обычно создается для столбцов, используемых в предложениях JOIN
, WHERE
и ORDER BY
.
Представьте, что у вас есть таблица с именем users
, и вы хотите найти всех пользователей с фамилией «Смит».Без индекса база данных должна была бы пройти через все записи таблицы: это медленно, потому что чем больше записей в вашей базе данных, тем больше нужно сделать, чтобы найти результат.С другой стороны, индекс поможет базе данных быстро перейти к соответствующим страницам, где хранятся записи «Смита».Это очень похоже на то, как мы, люди, просматриваем каталог телефонной книги, чтобы найти кого-то по фамилии: мы не начинаем поиск по каталогу от обложки к обложке, пока мы вставляем информацию в некотором порядке, который мы можемиспользуйте для быстрого перехода к страницам «S».
Первичные и уникальные ключи похожи.Первичный ключ - это столбец или комбинация столбцов, которые могут однозначно идентифицировать строку.Это особый случай уникальный ключ .Таблица может иметь не более одного первичного ключа, но более одного уникального ключа.При указании уникального ключа для столбца никакие две отдельные строки в таблице не могут иметь одинаковое значение.
Также обратите внимание, что столбцы, определенные как первичные ключи или уникальные ключи, автоматически индексируются в MySQL.