如何优化这样的查询

时间:2018-04-20 04:02:22

标签: mysql sql

我当前的查询如下所示:

public Transform panelparent;
private GUIContent button_tex_con;

if (GUILayout.Button (button_tex_con, GUILayout.Width (100), GUILayout.Height (100))) 
        {
            Debug.Log ("Clicked");


        }

随着表的增长(all_products有超过70,000项),上述查询需要2~7秒。 有什么建议吗?我目前的设置是LAMP ..

1 个答案:

答案 0 :(得分:1)

首先删除子查询和最后一个JOIN(似乎没有必要):

SELECT i.id, p.size, ap.item_no, ps.size_id 
FROM inv i LEFT JOIN
     product p
     ON i.id = p.id LEFT JOIN
     all_products ap
     ON i.id = ap.id and i.size = ap.size LEFT JOIN 
     prod_stock ps
     ON ap.web_code = ps.code AND status = 1 
WHERE i.id = 123456
ORDER BY i.id, i.size_id;

我删除了常量上的引号。据推测,它们实际上是数字(如果它们是字符串,则将常量添加回来)。

您需要所有JOIN键上的索引。对于第一个表格,您特别需要inv(id, size, size_id)