PRIMARY KEY
Автоматически создаётся для первичного ключа и гарантирует уникальность.
Summary session 11 соединяет два блока: индексы и пользовательские функции.
Индекс ускоряет поиск, сортировку или группировку, но занимает место и замедляет изменения данных.
EXPLAIN показывает план выполнения и помогает проверить, использует ли MySQL индекс.
Пользовательская функция создаётся через CREATE FUNCTION и возвращает одно значение через RETURN.
Минимальный пример повторения: CREATE INDEX idx_age ON employees(age); и SELECT square_root(25);.
Топ-3 ошибки: индексировать всё подряд, не смотреть EXPLAIN, путать функцию с процедурой.
Индексация — способ организации данных, который ускоряет выполнение запросов. Индекс — структура данных, которая помогает быстрее находить нужные строки без полного сканирования таблицы.
Автоматически создаётся для первичного ключа и гарантирует уникальность.
Гарантирует уникальность значений в одном или нескольких столбцах.
Обычный индекс ускоряет поиск, но не запрещает дубликаты.
Используется для полнотекстового поиска по текстовым полям.
Создаётся на несколько столбцов для запросов с несколькими условиями.
SELECT *
FROM employees
WHERE age = 30;
Без индекса MySQL просматривает строки таблицы, чтобы найти сотрудников нужного возраста.
CREATE INDEX idx_age ON employees(age);
EXPLAIN
SELECT *
FROM employees
WHERE age = 30;
После создания индекса план можно проверить через EXPLAIN: он показывает тип сканирования, оценку прочитанных строк и выбранный индекс.
Пользовательская функция создаётся командой CREATE FUNCTION, принимает параметры и возвращает одно значение.
CREATE FUNCTION function_name(parameter1 datatype)
RETURNS return_datatype
DETERMINISTIC
BEGIN
RETURN return_value;
END;
В summary повторяются функции square_root, calculate_age и greet_user, а также различие DETERMINISTIC и NON-DETERMINISTIC.