Может ли MySQL Select Subquery может вызвать проблему n+1?MySql

Форум по Mysql
Anonymous
Может ли MySQL Select Subquery может вызвать проблему n+1?

Сообщение Anonymous »

У меня есть какой -то случай, когда мне нужно написать один запрос SQL, но внутри этого запроса мне также нужно получить некоторые данные в другой таблице. Позвольте мне дать некоторую визуализацию. < /P>
Клиенты < /strong> таблица
| Имя | Тип | Параметры |
| -------- | -------------- | --------------------------- |
| id | Int | Первичный ключ, автоматическое приращение |
| Электронная почта | Varchar (255) | Не null |
| имя | Varchar (255) | Не null |
Адрес
таблица



name < /th>
type < /th>
Параметры < /th>
< /tr>
< /thead>


id < /td>
int < /td>
первичная клавиша, автоматическое приращение < /td>
< /tr>

customer_id < / td>
int
иностранная ключ ref: клиенты . id
< /tr>

адрес < /td>
varchar (255) < /td>
не null < /td >
< /tr>

is_default < /td>
small int < /td>
default: default: 0



Пример случая: мне нужно получить каждый Клиент вместе с их адресами по умолчанию, если я запускаю этот запрос < /p>

Код: Выделить всё

SELECT
id,
name,
(
SELECT
address
FROM addresses
WHERE
customer_id = customers.id AND
is_default = 1 LIMIT 1
) AS default_address
FROM customers;
могло бы этот запрос, чтобы сделать вопрос N+1, потому что для каждого клиента также необходимо получить свой адрес по умолчанию?
Я писал такой запрос на свои проекты много раз, и это просто для меня "можно ли вызвать n+1"? < /p>
Буду ожидать, что кто -то даст мне некоторое объяснение об этом, может быть запрос N+1 или нет. Спасибо!

Подробнее здесь: https://stackoverflow.com/questions/794 ... n1-problem

Вернуться в «MySql»