Name < /th>
Typ < /th>
Optionen < /th>
< /tr>
< /thead>
id < /td>
int < /td>
Primärtast E -Mail < /td>
varchar (255) < /td>
Nicht null < /td>
< /tr>
Name < /td>
varchar (255) < /td>
Nicht null < /td>
< /tr>
Die -Andes Tabellenschema
Name < /th>
Typ < /< / th>
Optionen < /th>
< /tr>
< /thead>
id < /td>
int < /td>
Primärtaste, automatische Inkrement < /td>
< /tr>
< Br/> customer_id
int
Fremdschlüssel Ref: Kunden . id < /td>
< /tr>
Adresse < /td>
varchar (255) < /td>
nicht null < /td>
< /tr>
is_default < /td>
small int < /td>
Standard: 0 < /td>
< /tr>
< /tbody>
< /table> < /div>
Die Beispiel Fall lautet: Ich muss jeden Kunden zusammen mit seinen Standardadressen holen, wenn ich diese Abfrage < /p>
ausführe "> ausführe
Code: Select all
SELECT
id,
name,
(
SELECT
address
FROM addresses
WHERE
customer_id = customers.id AND
is_default = 1 LIMIT 1
) AS default_address
FROM customers;
Ich habe diese Art von Abfrage für meine Projekte viele Male geschrieben und es fällt mir nur ein, "wäre es möglich, dass diese Abfrage n+1 verursacht"? < /p>
Würde erwarten, dass mir jemand eine Erklärung darüber gibt, ist die N+1 -Abfrage kann stattfinden oder nicht. Danke!