【发布时间】:2017-01-28 15:28:16
【问题描述】:
我有 Mysql 查询,是这样的:
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`
查询非常慢(大约 10 秒)。没有这部分的查询:
左外连接 Extra_fields AS Extra0 ON Extra0.Code = Main.Code AND Extra0.Nf=2
速度很快。
有没有办法优化第一个查询?
【问题讨论】:
-
在 Code 和 Nf 列上创建所需的索引
-
请为两张表提供
SHOW CREATE TABLE。