我已经使用 Phpmyadmin
制作了一些数据库。我之前可以很好地运行它,但是在我尝试一些复杂的查询之后它运行起来非常慢。
我必须等待大约 5 分钟才能得到计数结果。但是对于简单的查询,它运行良好。 为什么会发生?我能解决这个问题吗?
我该怎么做?
SELECT X.id,X.Line,X.Model,X.Lot_no,X.Lot_Quantity,
X.Merchandise AS Merchandise,
X.Merchandise-X.Lot_Quantity AS Balance
FROM(
SELECT A.Inspection_datetime,A.id,A.Line, A.Model,
A.Lot_no,B.Lot_Quantity,
IF(RIGHT(A.Range_sampling,4)='0000',10000,
RIGHT(A.Range_sampling,4))-MID(Range_sampling,5,4)+1
AS Merchandise
FROM inspection_report A
LEFT JOIN prod_sch B
ON A.Line= B.Line_Name AND A.Model = B.Model_Code
AND A.Lot_no= CONCAT(LPAD(CAST(B.Lot_No_ AS CHAR),3,'0'),'A')
WHERE MONTH(A.Inspection_datetime) = MONTH(CURRENT_DATE)
AND YEAR(A.Inspection_datetime) = YEAR(CURRENT_DATE)
GROUP BY A.Line, A.Model,A.Range_sampling) X
GROUP BY X.Model
最佳答案
您的查询是否包括多个连接
和许多where 条件
?然后你必须在 ON
和 WHERE
子句中使用的选定属性上创建索引。
顺便说一句...显示您的表结构以及您的查询...然后可以给出更好的解决方案
为表中的以下属性创建索引
Line,Model,Lot_no,Inspection_datetime,range_sampling( Table : insepection_report) Line_Name,Model_code( Table: prod_sch )
注意:
try with EXPLAIN before SELECT and see the result
关于mysql - Phpmyadmin 运行很慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5430665/