KEY
и INDEX
са синоними в MySQL. Те означават едно и също нещо. В бази данни бихте използвали индекси
за подобряване на скоростта на извличане на данни. Индексът обикновено се създава върху колони, използвани в JOIN
, WHERE
и ORDER BY
клаузи.
Представете си, че имате таблица, наречена users
и искате да потърсите всички потребители с фамилно име 'Smith'. Без индекс базата данни ще трябва да премине през всички записи на таблицата:това е бавно, защото колкото повече записи имате във вашата база данни, толкова повече работа трябва да свърши, за да намери резултата. От друга страна, индексът ще помогне на базата данни бързо да прескочи към съответните страници, където се съхраняват записите на „Смит“. Това е много подобно на начина, по който ние, хората, преминаваме през указател на телефонен указател, за да намерим някого с фамилното име:Ние не започваме да търсим в указателя от кора до кора, стига да вмъкнем информацията в някакъв ред, в който можем използвайте, за да прескочите бързо към страниците „S“.
Първичните и уникалните ключове са подобни. Първичният ключ е колона или комбинация от колони, които могат уникално да идентифицират ред. Това е специален случай на уникален ключ . Една таблица може да има най-много един първичен ключ, но повече от един уникален ключ. Когато посочите уникален ключ в колона, няма два различни реда в таблицата да имат една и съща стойност.
Също така имайте предвид, че колоните, дефинирани като първични ключове или уникални ключове, се индексират автоматично в MySQL.