我有MySQL查询,像这样:(约10秒)慢MySQL查询(优化LEFT OUTER JOIN)
SELECT
Main.Code,
Nt,
Ss,
Nac,
Price,
Ei,
Quant,
Dateadded,
Sh,
Crit,
CAST(Ss * Quant AS DECIMAL (10 , 2)) AS Qss,
CAST(Price * Quant AS DECIMAL (10 , 2)) AS Qprice,
`Extra0`.`Value`
FROM
Main
LEFT OUTER JOIN
`Extra_fields` AS `Extra0` ON `Extra0`.`Code` = `Main`.`Code`
AND `Extra0`.`Nf` = 2
ORDER BY `Code`
查询是很慢的。没有这个零件的查询: LEFT OUTER JOIN Extra_fields
AS Extra0
ON Extra0
。 Code
= Main
。 Code
AND Extra0
。 Nf
= 2 很快。
有什么方法可以优化第一个查询吗?
在Code和Nf列上创建必需的索引 – GurV
谢谢,它有帮助。 –
请为这两个表提供'SHOW CREATE TABLE'。 –