250
Глава 13. Индексы и ограничения
id: 1
select_type: SIMPLE
table: account
type: range
possible_keys: acc_bal_idx
key: acc_bal_idx
key_len: 4
ref: NULL
rows: 8
Extra: Using where; Using index
1 row in set (0.01 sec)
Сравнение двух планов выполнения дает следующие различия:
•
Вместо
индекса
fk_a_cust_id
оптимизатор использует новый индекс
acc_bal_idx
.
•
Оптимизатор ускоряет свою работу, поскольку теперь ему надо об
работать только восемь строк вместо 24.
•
Для обеспечения
результатов запроса таблица
account
не нужна
(обозначена через
Using
index
в столбце
Extra
).
Следовательно, сервер может определить с помощью индексов место
положение строк в ассоциированной таблице
или использовать индекс
как таблицу, если он содержит все столбцы, необходимые для удовле
творения запроса.
Только что рассмотренный процесс – это пример оптимизации
запроса. Оптимизация включает
изучение SQLвыражения и ус
тановление доступных серверу ресурсов, необходимых для вы
полнения этого выражения. Чтобы обеспечить более эффектив
ное
выполнение выражения, можно изменить SQLвыражение
или настроить ресурсы БД, или сделать и то, и другое. Оптими
зация –
тонкий вопрос, поэтому настоятельно рекомендую про
читать руководство по оптимизации для используемого сервера
или найти хорошую книгу по этой теме,
чтобы увидеть все воз
можные подходы к оптимизации для конкретного сервера.
Достарыңызбен бөлісу: