248
Глава 13. Индексы и ограничения
сервер просматривает ассоциированную таблицу и извлекает дополни
тельную информацию, запрашиваемую пользователем. Рассмотрим
следующий запрос:
mysql>
SELECT emp_id, fname, lname
> FROM employee
> WHERE emp_id IN (1, 3, 9, 15, 22);
++++
| emp_id | fname | lname |
++++
| 1 | Michael | Smith |
| 3 | Robert | Tyler |
| 9 | Jane | Grossman |
| 15 | Frank | Portman |
++++
4 rows in set (0.00 sec)
Для этого запроса сервер может использовать в качестве индекса пер
вичный ключ для столбца
emp_id
, чтобы найти местоположение сотруд
ников с ID 1, 3, 9, 15 и 22 в таблице
employee
, и затем просмотреть каж
дую из пяти строк, чтобы извлечь значения столбцов имени и фамилии.
Однако если индекс содержит все, что необходимо для удовлетворения
запроса, серверу не надо просматривать ассоциированную таблицу.
Для иллюстрации давайте посмотрим на то, как обращается оптимиза
тор запросов с одним и тем же запросом при разных типах индексов.
Запрос, агрегирующий остатки на счетах для определенных клиентов,
выглядит так:
mysql>
Достарыңызбен бөлісу: