Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да създадете индекс в MySQL

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 улеснява визуализирането на данни за минути и наблюдение в табла за управление в реално време. Опитайте днес!

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Внедряване на релационни бази данни на MySQL в Ubuntu 12.04 (Precise Pangolin)

  2. HOUR() Примери – MySQL

  3. Как мога да се присъединя към множество SQL таблици, използвайки идентификаторите?

  4. MySQL комбинира две колони и добавете в нова колона

  5. ГРЕШКА:Зареждането на локални данни е деактивирано - това трябва да бъде активирано както от страна на клиента, така и от страна на сървъра