Mysql Query太慢了

时间:2014-10-13 02:14:59

标签: php mysql

所以我有像这样的Mysql

SELECT `A`.`ID`, 
IFNULL((SELECT * FROM `B` WHERE `B`.`To` = `A`.`ID`),0)
FROM `A` 
ORDER BY (LOG10(IF(ABS(`X`)>=1,ABS(`X`),1))+(SIGN(`X`)*((`A`.`Date`)-1410530785))/45000) DESC

B表有大约20k行。

为什么这么慢,需要10秒以上。

1 个答案:

答案 0 :(得分:2)

这是一个ORDER BY条款。将该值固定在附加的索引行中可能会解决您的问题。

您现在正在做的是,每次运行该查询时,每行计算该值。这需要时间。