MySQL индексите улесняват извършването на справки и подобряват скоростта на SQL заявките. Ето как да създадете индекс в MySQL, за да подобрите производителността на базата данни, като използвате израза MySQL CREATE INDEX.
Как работи индексирането в MySQL
Обикновено, когато изпълнявате SQL заявка с клауза WHERE или друг вид справки, като например JOINS, MySQL трябва да сканира всички записи във вашата таблица, за да намери съвпадащи редове. В случай, че таблиците ви имат милиони редове, това може да отнеме много време и да забави значително вашите SQL заявки.
MySQL индексите ускоряват вашите SQL заявки, като поддържат стойностите на индексираните колони в структура на B-дърво, която е оптимизирана за търсене и съпоставяне. Така индексите улесняват бързото намиране на редове, които съответстват на една или повече стойности.
По подразбиране MySQL създава индекс за всяка колона с първичен ключ във вашата база данни.
Бонус за четене:Как да създадете съхранена процедура в MySQL
Как да създадете индекс в MySQL
Ето стъпките за създаване на индекс в MySQL. Можете или да създадете индекс по време на създаването на таблицата, или да го добавите след това. Ще разгледаме и двата подхода.
Как да създадете MySQL индекс по време на създаване на таблица
Ето синтаксиса за създаване на индекс по време на създаване на таблица
CREATE TABLE table_name(
column_definitions,
INDEX (list_of_columns)
);
В горната заявка име_на_таблица е вашата таблица, която ще бъде създадена и column_definitions е списъкът с колони и дефиниции.
ИНДЕКС(списък_на_колони) е мястото, където създавате MySQL индекс. Индексът ще бъде създаден за разделения със запетая списък с колони, споменати като списък_на_колони
Бонус за четене:Как да създадете потребител в MySQL
Ето един пример.
CREATE TABLE orders(
order_id INT PRIMARY KEY,
sale INT NOT NULL,
product_id INT NOT NULL,
product_name VARCHAR(10),
INDEX (product_id)
);
В горната заявка създадохме индекс за product_id колона.
Ето пример за това как да създадете индекс с помощта на множество колони.
CREATE TABLE orders(
order_id INT PRIMARY KEY,
sale INT NOT NULL,
product_id INT NOT NULL,
product_name VARCHAR(10),
INDEX (product_id, order_id)
);
В горната заявка създадохме индекс за множество колони product_id, order_id
Бонус четене:Как да създадете база данни в MySQL
Как да добавя индекс към колона в таблица
Да приемем, че искате да добавите индекс за колона или набор от колони, след което използвайте израз CREATE INDEX. Ето синтаксиса на израза CREATE INDEX
CREATE INDEX index_name ON table_name (column_list)
В горната заявка ние посочваме името на индекса, таблицата, за която трябва да създадете индекс, и списък с колони, които да бъдат включени в индексирането.
Ето пример за добавяне на нов индекс за колона име_на_продукт в горните поръчки таблица
CREATE INDEX prod_name_index ON orders (product_name);
За да видите индексите, добавени към таблица, можете да използвате израза SHOW INDEXES. Ето синтаксиса за ПОКАЗВАНЕ НА ИНДЕКСИТЕ
SHOW INDEXES from table_name;
Ето пример за преглед на индекси от поръчки таблица
SHOW INDEXES from orders;
Надяваме се, че горната статия ще ви помогне да създадете индекс в MySQL.
Ubiq улеснява визуализирането на данни за минути и наблюдение в табла за управление в реално време. Опитайте днес!