Должен ли я использовать соединение для простых отношений в MySQL - PullRequest
0 голосов
/ 27 марта 2019

Является ли JOIN правильным способом (единственным способом?) Для добавления информации из других таблиц?

Например, если у меня есть эти таблицы:

Сотрудники

name | pay_table
--------------------
John | 1
Lisa | 2

Pay

Id  | Pay
---------------------
1   | 30000
2   | 50000

и мне нужно имя и оплата в одной таблице, лучше всего было бы написать что-то вроде этого:

SELECT * FROM Employees
LEFT JOIN Pay
ON Pay.id = Employees.pay_table

?Или есть лучший способ?

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

1 Ответ

0 голосов
/ 27 марта 2019

Да, это правильный путь.

Правильное индексирование решит большинство проблем, связанных с подготовкой к выполнению соединений.

SHOW CREATE TABLE {table name} и EXPLAIN {query} - это основная информация, необходимая для решения проблем производительности MySQL.

...