如何通过任何类型的联接、子查询或嵌套查询来减少此查询运行时间。
select
`p`.`id`,
`p`.`name`,
SUM(s.quantity) as inst,
from `product` as `p`
LEFT JOIN sales as s ON s.pid=p.`id` AND s.sales_id IN (SELECT invoice.invoice_id FROM invoice WHERE invoice.ccid NOT IN (SELECT ccid FROM ticket WHERE st='1'))
where `p`.`hc` = '1'
GROUP BY `p`.`id`
order by `p`.`name` DESC
最佳答案
为票据中的 st 添加索引,并为发票中的 ccid 和销售中的 sales_id 添加索引。
在查询 possible_keys 列输出中是否正在使用创建的索引之前,尝试使用说明子句。
关于mysql - 如何使用 mysql 减少嵌套查询时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37744381/