Поиск по сайту:
Женщина смеется, когда может, и плачет, когда хочет (Ж. Баиф).

Как и когда создавать индекс в MySQL

06.06.2021
Как и когда создавать индекс в MySQL

Когда дело доходит до оптимизации производительности баз данных MySQL, создание индексов – один из лучших способов. Индексы SQL помогают повысить производительность базы данных, обеспечивая быстрый доступ к данным, хранящимся в базе данных.

Индекс SQL не сильно отличается от обычного книжного указателя с тщательно подобранным списком информации и местами, где ее можно найти.

В этой статье мы обсудим, когда создавать индекс SQL, потому что, хотя индексы могут помочь оптимизировать производительность, они также могут привести к снижению производительности и другим негативным последствиям. Мы также обсудим, как создать индекс с использованием реальной базы данных.

 

Когда создавать индекс в MySQL?

К сожалению, у нас нет прямого ответа, когда следует создавать индекс. Однако некоторые сценарии и факторы могут повлиять на создание индекса. Стоит отметить, что вам, возможно, придется пойти на компромисс при создании индекса.

  1. Высокая доступность: если у вас есть таблица или столбец, к которым вы регулярно обращаетесь, вы можете повысить их производительность, создав индекс.
  2. Размер: размер данных, хранящихся в таблице или столбце, также может играть роль при принятии решения о необходимости индекса. Большая таблица может получить больше преимуществ от индексов, чем меньшая таблица.
  3. Ключ индекса: тип данных целочисленного ключа также имеет значение. Например, целое число является гораздо лучшим индексным ключом из-за его небольшого размера.
  4. CRUD-операции: если у вас есть таблица или столбец с большим количеством CRUD-операций, индексирование этой таблицы или столбца может оказаться невыгодным и может отрицательно повлиять на производительность базы данных.
  5. Размер базы данных: индексирование – это структура данных, которая будет занимать место в вашей базе данных, что может быть фактором, особенно в уже больших базах данных.
Читать  Как установить MySQL на Ubuntu 20.04

Выше приведены некоторые ключевые концепции, которые могут быть задействованы при принятии решения о создании индекса базы данных.

Если вы хотите узнать больше о том, как MySQL использует индексы, рассмотрите возможность чтения ресурса, представленного ниже:

https://dev.mysql.com/doc/refman/8.0/en/mysql-indexes.html

 

Базовое использование индексов MySQL

По умолчанию, как только вы создаете таблицу с первичным ключом, MySQL автоматически создает специальный индекс, называемый PRIMARY, который хранится вместе с данными. Обычно это называется кластеризованным индексом.

Чтобы создать индекс в MySQL, мы можем использовать синтаксис, показанный ниже:

CREATE INDEX index_name ON tbl_name (cols);

Мы начинаем с вызова предложения CREATE INDEX, за которым следует имя индекса, который мы хотим создать. Затем мы указываем таблицу, в которой находится индекс, и, наконец, столбцы.

Вы также можете создать индекс при создании таблицы, как показано в синтаксисе ниже:

CREATE TABLE tbl_name (col1, col2, col3, INDEX(col1, col2));
Примечание
Тип индекса MySQL по умолчанию – BTREE, если явно не указано иное.

 

Пример использования

На примере позвольте нам проиллюстрировать, как мы можем создать индекс для конкретной таблицы для повышения производительности.

Мы будем использовать таблицу фильмов в базе данных сотрудников. Вы можете найти ресурс на странице ресурсов ниже:

https://dev.mysql.com/doc/index-other.html

Во-первых, давайте посмотрим, как MySQL использует закулисный процесс для обработки простого оператора SELECT, в котором пол равен F.

EXPLAIN SELECT emp_no, first_name, last_name FROM employees WHERE gender = 'F';

 

Учитывая размер таблицы и запрашиваемых данных, сканирование более 200 000 строк не очень эффективно. В этом случае мы можем уменьшить это значение, создав индекс.

Читать  5 вещей, о которых следует помнить при выполнении SQL-запросов в производственной базе данных

Чтобы создать индекс, мы можем:

CREATE INDEX gender on employees(gender);

 

После создания индекса MySQL просканирует значения.

 

Заключение

Мы надеемся, что эта статья дала вам более глубокое понимание использования индексов MySQL для повышения производительности базы данных.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
Поделиться в соц. сетях:


0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

1 Комментарий
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
mail.sru

оставляю свой комментарий

Это может быть вам интересно


Рекомендуемое
В этой статье будет рассмотрен список полезных приложений командной строки,…

Спасибо!

Теперь редакторы в курсе.