Дополнительные источники
297
mysql>
EXPLAIN SELECT c.fed_id, a.account_id, a.avail_balance
>
FROM account a INNER JOIN customer c
> ON a.cust_id = c.cust_id
> WHERE c.cust_type_cd = 'I' \G
***************************
1.
row
***************************
id:
1
select_type:
SIMPLE
table:
c
type:
ALL
possible_keys:
PRIMARY
key:
NULL
key_len:
NULL
ref:
NULL
rows:
13
Extra:
Using
where
***************************
2.
row
***************************
id:
1
select_type:
SIMPLE
table:
a
type:
ref
possible_keys:
fk_a_cust_id
key:
fk_a_cust_id
key_len:
4
ref:
bank.c.cust_id
rows:
1
Extra:
2
rows
in
set
(0.00
sec)
Чтобы увидеть план выполнения этого запроса, я
просто поставил пе
ред выражением
select
ключевое слово
explain
(объяснить), т. е. сервер
получил команду показать план выполнения, а не результирующий
набор запроса. План включает два этапа.
Первый показывает, как бу
дет осуществляться доступ к таблице
customer
(выполняется доступ ко
всем строкам, поскольку столбец
cust_type_cd
не имеет индекса). Вто
рой
показывает, как будет организован доступ к таблице
account
(по
средством внешнего ключа
fk_a_cust_id
). Формирование и расшифров
ка планов выполнения не является предметом рассмотрения для ввод
ной
книги по SQL, поэтому в конце данного раздела приведены имею
щиеся источники (книги и учебные курсы). Также в продаже есть
несколько замечательных инструментов, которые помогут строить,
вычислять и настраивать SQLвыражения. Вот некоторые из них:
Достарыңызбен бөлісу: