Я работаю над базой данных MySQL, и у меня нет возможности создавать дополнительные таблицы или изменять существующие. По сути, это таблица, где «дистрибьютор» может быть «посредником» другого реселлера. Оба приведенных ниже запроса работают, и мне интересно, какой из них мне следует использовать. Это большая таблица, поэтому производительность важна. Если кто-то предложит еще лучший способ достижения того же результата, буду признателен.
SELECT R1.reseller_id, R1.reseller_name, R1.distributor_id,
R2.reseller_name, R2.company_name
FROM reseller_master R1
LEFT JOIN reseller_master R2
ON R1.distributor_id = R2.reseller_id;
ИЛИ
SELECT R1.reseller_id, R1.reseller_name, R1.distributor_id,
(SELECT R2.reseller_name FROM reseller_master R2 WHERE R2.reseller_id = R1.distributor_id) AS distributor_name,
(SELECT R3.company_name FROM reseller_master R3 WHERE R3.reseller_id = R1.distributor_id) AS distributor_company_name
FROM reseller_master R1;
Подробнее здесь: https://stackoverflow.com/questions/793 ... -be-faster
Оба запроса работают. Кто из них окажется быстрее? ⇐ MySql
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Почему оба параметра «const T» и «T const» действительны и какой из них следует использовать?
Anonymous » » в форуме C++ - 0 Ответы
- 9 Просмотры
-
Последнее сообщение Anonymous
-