Phpmyadmin跑得很慢

时间:2011-03-25 09:32:27

标签: mysql phpmyadmin

我已经使用了一些数据库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

3 个答案:

答案 0 :(得分:1)

您的查询是否包含multiple join和许多where condition?那么你必须在ONWHERE子句中使用的所选属性上创建索引。

BTW ...显示您的表格结构以及您的查询...然后可以提供更好的解决方案

对表格中的以下属性索引

  

线,模型,Lot_no,Inspection_datetime,range_sampling(   表:insepection_report)   Line_Name,Model_code(表:prod_sch   )

注意:

  

在SELECT之前尝试使用EXPLAIN并查看结果

答案 1 :(得分:1)

如果您正在运行复杂查询,则可能是导致延迟的基础MySQL数据库,而不是phpMyAdmin。 您可能希望优化查询或数据库结构。

答案 2 :(得分:0)

您需要在where子句中使用的列上创建indexes以查找行。

索引可以快速完成任务。