我试图优化这个MySql脚本:
SELECT SUM(p.IMPORT_PEN)
FROM pendientes p
WHERE EXISTS(
SELECT 1
FROM clientes cli
WHERE p.CLIENT_COD = cli.CLIENT_COD
AND cli.FAMCLIVTA_COD IN("N/D")
);
需要3,953个。
尝试了以下内容:
SELECT SUM(p.IMPORT_PEN)
FROM pendientes p
LEFT JOIN clientes c ON c.CLIENT_COD = p.CLIENT_COD
WHERE c.FAMCLIVTA_COD IN("N/D");
需要2,609秒。
SELECT SUM(p.IMPORT_PEN)
FROM pendientes p, clientes c
WHERE p.CLIENT_COD = c.CLIENT_COD
AND c.FAMCLIVTA_COD IN ("N/D");
需要2,578秒。
db中有5866行。 无法修改:
c.FAMCLIVTA_COD IN ("N/D")
因为它们可能有很多值。
可以优化吗?