我如何改善这个内部联接查询?

问题描述 投票:0回答:1

我的数据库有3个表。一种称为客户,一种称为订单,一种称为RMA。 RMA表包含有关退货的信息。我将包括所有3个屏幕截图,以便您可以看到适当的属性。这是我正在处理的查询的代码:

SELECT State, SKU, count(*) from Orders INNER JOIN Customer ON Orders.Customer_ID = Customer.CustomerID INNER JOIN RMA ON Orders.Order_ID = RMA.Reason Group by SKU Order by SKU LIMIT 10;

我正在尝试获取每种状态(州)返回的每种产品(SKU)的数量。任何帮助将不胜感激。我不确定为什么,但是只要包含JOIN语句,查询就需要5分钟到20分钟的时间处理。

<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9YRWR6OC5wbmcifQ==” alt =“订单表”> [客户表]

2 [RMA表]

3

mysql sql inner-join
1个回答
0
投票

鉴于您要加入一个Orders表,因此我假设该表包含该公司曾经做过的所有订单。这可能会很大,可能会导致您看到的缓慢。

如果您对选择的订单施加一些约束,通常可以通过限制使用的日期范围来改善此查询。如果您提供有关查询内容以及数据集有多大的更多信息,那么每个人都将能够更好地指导哪些过滤器最有效。

© www.soinside.com 2019 - 2024. All rights reserved.