Изучаем sql



Pdf көрінісі
бет211/261
Дата28.07.2022
өлшемі1,6 Mb.
#147825
1   ...   207   208   209   210   211   212   213   214   ...   261
Байланысты:
Изучаем SQL ( PDFDrive )

Создание индекса
Вернемся к таблице 
department
. Допустим, принято решение добавить
индекс для столбца 
name
, чтобы ускорить выполнение запросов по пол
ному или частичному имени отдела, а также операций 
update
или 
de
lete
, использующих это имя. Вот как можно добавить такой индекс
в базу данных MySQL:
mysql> 
ALTER TABLE department
> ADD INDEX dept_name_idx (name);
Query OK, 3 rows affected (0.08 sec)
Records: 3 Duplicates: 0 Warnings: 0
Это выражение создает индекс (точнее, индекс на основе Вдерева, но
более подробно об этом позже) для столбца 
department.name
. Более того,
индексу присвоено имя 
dept_name_idx
. При наличии индекса оптимиза
тор запросов (обсуждаемый в главе 3) воспользуется им, если сочтет
это выгодным (например, если в таблице 
department
только три строки,
оптимизатор прекрасно справится и без использования индекса и про


242
Глава 13. Индексы и ограничения
смотрит всю таблицу). Если для таблицы есть несколько индексов, оп
тимизатору придется выбрать индекс, лучше всего подходящий для
конкретного SQLвыражения.
MySQL рассматривает индексы как необязательные компонен
ты таблицы, вот почему для добавления или удаления индекса
используется команда 
alter
table
(видоизменить таблицу). Дру
гие серверы БД, включая SQL Server и Oracle Database, считают
индексы независимыми объектами схемы. Поэтому для SQL
Server и Oracle индекс формировался бы с помощью команды
create index 
(создать индекс):
CREATE INDEX dept_name_idx
ON department (name);
Все серверы БД позволяют просматривать доступные индексы. Уви
деть все индексы определенной таблицы пользователи MySQL могут
с помощью команды 
show
(показать):
mysql> 


Достарыңызбен бөлісу:
1   ...   207   208   209   210   211   212   213   214   ...   261




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет