CREATE INDEX
Создаёт обычный индекс для ускорения поиска.
CREATE INDEX idx_employee_name ON employees(name);
Summary session 11 соединяет два блока: индексы и пользовательские функции.
Индекс ускоряет поиск, сортировку или группировку, но занимает место и замедляет изменения данных.
EXPLAIN показывает план выполнения и помогает проверить, использует ли MySQL индекс.
Пользовательская функция создаётся через CREATE FUNCTION и возвращает одно значение через RETURN.
Минимальный пример повторения: CREATE INDEX idx_age ON employees(age); и SELECT square_root(25);.
Топ-3 ошибки: индексировать всё подряд, не смотреть EXPLAIN, путать функцию с процедурой.
Команды и функции ниже взяты из темы урока и оформлены как быстрый справочник.
CREATE INDEXСоздаёт обычный индекс для ускорения поиска.
CREATE INDEX idx_employee_name ON employees(name);
CREATE UNIQUE INDEXСоздаёт индекс с запретом дублей.
CREATE UNIQUE INDEX idx_employee_email ON employees(email);
CREATE FULLTEXT INDEXСоздаёт полнотекстовый индекс MySQL.
CREATE FULLTEXT INDEX idx_article_text ON articles(content);
EXPLAINПоказывает план выполнения запроса.
EXPLAIN SELECT * FROM employees WHERE age = 30;
CREATE FUNCTIONСоздаёт пользовательскую функцию.
CREATE FUNCTION square_root(x DOUBLE)
RETURNS DOUBLE
DETERMINISTIC
BEGIN
RETURN SQRT(x);
END;
DETERMINISTICУказывает, что результат повторяем для одинаковых входов.
DETERMINISTIC
Полный справочник курса: SQL Reference. MongoDB в этом уроке не является основной темой.