Когда дело доходит до оптимизации производительности баз данных MySQL, создание индексов — один из лучших способов. Индексы SQL помогают повысить производительность базы данных, обеспечивая быстрый доступ к данным, хранящимся в базе данных.
Индекс SQL не сильно отличается от обычного книжного указателя с тщательно подобранным списком информации и местами, где ее можно найти.
В этой статье мы обсудим, когда создавать индекс SQL, потому что, хотя индексы могут помочь оптимизировать производительность, они также могут привести к снижению производительности и другим негативным последствиям. Мы также обсудим, как создать индекс с использованием реальной базы данных.
К сожалению, у нас нет прямого ответа, когда следует создавать индекс. Однако некоторые сценарии и факторы могут повлиять на создание индекса. Стоит отметить, что вам, возможно, придется пойти на компромисс при создании индекса.
Выше приведены некоторые ключевые концепции, которые могут быть задействованы при принятии решения о создании индекса базы данных.
Если вы хотите узнать больше о том, как MySQL использует индексы, рассмотрите возможность чтения ресурса, представленного ниже:
https://dev.mysql.com/doc/refman/8.0/en/mysql-indexes.html
По умолчанию, как только вы создаете таблицу с первичным ключом, MySQL автоматически создает специальный индекс, называемый PRIMARY, который хранится вместе с данными. Обычно это называется кластеризованным индексом.
Чтобы создать индекс в MySQL, мы можем использовать синтаксис, показанный ниже:
CREATE INDEX index_name ON tbl_name (cols);
Мы начинаем с вызова предложения CREATE INDEX, за которым следует имя индекса, который мы хотим создать. Затем мы указываем таблицу, в которой находится индекс, и, наконец, столбцы.
Вы также можете создать индекс при создании таблицы, как показано в синтаксисе ниже:
CREATE TABLE tbl_name (col1, col2, col3, INDEX(col1, col2));
На примере позвольте нам проиллюстрировать, как мы можем создать индекс для конкретной таблицы для повышения производительности.
Мы будем использовать таблицу фильмов в базе данных сотрудников. Вы можете найти ресурс на странице ресурсов ниже:
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 строк не очень эффективно. В этом случае мы можем уменьшить это значение, создав индекс.
Чтобы создать индекс, мы можем:
CREATE INDEX gender on employees(gender);
После создания индекса MySQL просканирует значения.
Мы надеемся, что эта статья дала вам более глубокое понимание использования индексов MySQL для повышения производительности базы данных.
оставляю свой комментарий