Kann MySQL -SUBAME SELECT N+1 Problem verursachen?MySql

MySQL DBMS-Forum
Anonymous
 Kann MySQL -SUBAME SELECT N+1 Problem verursachen?

Post by Anonymous »

Ich habe einen Fall, in dem ich eine einzelne SQL -Abfrage schreiben muss, aber in dieser Abfrage muss ich auch einige Daten in eine andere Tabelle abrufen. Lassen Sie mich eine gewisse Visualisierung geben. class = "s-table">


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;
wäre es möglich, dass diese Abfrage N+1 -Problem verursacht, da für jeden Kunden [/b] auch ihre Standardadresse abrufen muss?
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!

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post