簡體   English   中英

為什么在聯接中添加“ left”會使MySQL查詢掛起?

[英]Why does adding “left” to my join make the MySQL query hang?

此查詢在不到一秒鍾的時間內執行:

SELECT customers.customers_id, customers_firstname, customers_lastname, customers.customers_email_address, max(date_purchased) 
FROM customers join orders on customers.customers_id = orders.customers_id 
group by customers.customers_id;

如果將聯接更改為左聯接,則似乎掛起。 我嘗試將其限制為10條記錄,但仍然需要9秒。 我究竟做錯了什么?

提前致謝。

您是否在聯接條件上創建了索引?

是否在訂單表上建立了customer_Id的索引?

您可以查看以下表格上是否有任何索引

SHOW INDEXES FROM Orders;

創建索引

CREATE INDEX ix_order_customersId ON Orders (customers_id);

為了調查問題,您可以嘗試EXPLAIN SELECT .....,它將列出您請求的索引/基數是什么,以及為什么花費那么多時間。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM