[英]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.