У меня есть Mysql запрос, что-то вроде этого: (. Около 10 сек)Slow 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
И Extra0
. Nf
= 2 быстро.
Есть ли способ оптимизировать первый запрос?
Создать необходимый индекс для столбцов кода и Nf – GurV
Спасибо, это помогает. –
Пожалуйста, предоставьте 'SHOW CREATE TABLE' для обеих таблиц. –