Учебники

MariaDB — индексы и статистические таблицы

Индексы — это инструменты для ускорения поиска записей. Индекс порождает запись для каждого значения в индексированном столбце.

Есть четыре типа индексов —

  • Основной (одна запись представляет все записи)

  • Уникальный (одна запись представляет несколько записей)

  • гладкий

  • Полнотекстовый (позволяет много вариантов в текстовом поиске).

Основной (одна запись представляет все записи)

Уникальный (одна запись представляет несколько записей)

гладкий

Полнотекстовый (позволяет много вариантов в текстовом поиске).

Термины «ключ» и «индекс» в этом использовании идентичны.

Индексы связаны с одним или несколькими столбцами и поддерживают быстрый поиск и эффективную организацию записей. При создании индекса учитывайте, какие столбцы часто используются в ваших запросах. Затем создайте для них один или несколько индексов. Кроме того, рассматривайте индексы как таблицы первичных ключей.

Хотя индексы ускоряют поиск или операторы SELECT, они делают вставки и обновления перетаскиваемыми из-за выполнения операций как с таблицами, так и с индексами.

Создать индекс

Вы можете создать индекс с помощью оператора CREATE TABLE … INDEX или оператора CREATE INDEX. Наилучшим вариантом, поддерживающим удобочитаемость, обслуживание и лучшие практики, является CREATE INDEX.

Просмотрите общий синтаксис индекса, приведенный ниже —

CREATE [UNIQUE or FULLTEXT or...] INDEX index_name ON table_name column;

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

CREATE UNIQUE INDEX top_sellers ON products_tbl product;

Оставьте индекс

Вы можете удалить индекс с помощью DROP INDEX или ALTER TABLE … DROP. Наилучшим вариантом, поддерживающим удобочитаемость, обслуживание и лучшие практики, является DROP INDEX.

Просмотрите общий синтаксис Drop Index, приведенный ниже —

DROP INDEX index_name ON table_name;

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

DROP INDEX top_sellers ON product_tbl;

Переименовать индекс

Переименуйте индекс с помощью инструкции ALTER TABLE. Просмотрите его общий синтаксис, приведенный ниже —

ALTER TABLE table_name DROP INDEX index_name, ADD INDEX new_index_name;

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

ALTER TABLE products_tbl DROP INDEX top_sellers, ADD INDEX top_2016sellers;

Управление индексами

Вам нужно будет изучить и отследить все индексы. Используйте SHOW INDEX, чтобы перечислить все существующие индексы, связанные с данной таблицей. Вы можете установить формат отображаемого содержимого, используя параметр, например «\ G», который указывает вертикальный формат.

Просмотрите следующий пример —

mysql > SHOW INDEX FROM products_tbl\G

Таблица статистики

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