Создание индексов

Таблицы в базе данных могут иметь большое количество строк, которые хра­нятся в произвольном порядке, и их поиск по заданному значению путем по­следовательного просмотра таблицы строка за строкой может занимать мно­го времени. Индекс формируется из значений одного или нескольких столбцов таблицы и указателей на соответствующие строки таблицы и, таким образом, позволяет находить нужную строку по заданному значению в соответствующем столбце (столбцах).

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

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

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

mysql>CREATE INDEX nomer ON cars(reg_number);

При создании индекса на сервере формируется упорядоченный список значений этого поля, который MySQL использует при выполнении запросов. Если для создания индекса используется несколько полей, то значения второго поля упорядочиваются внутри одинаковых значений первого, третьего – внутри одинаковых значений второго и т.д.

Имя индекса должно быть уникальным в базе данных. После создания индекса MySQL использует индекс для поиска данных автоматически, т.е. в запросах не требуется указывать индекс каким-либо образом.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: