优化查询(mysql,php)

时间:2013-07-10 08:48:30

标签: php mysql

我有这样的查询..

select slno 
from `invoice_master` 
where slno NOT IN (SELECT DISTINCT Inv_slno from `invoice_refresh`)

我在两个表格中都有超过1,40,000条记录(invoice_masterinvoice_refresh

这个查询花了时间来执行。 :(

这是我的解释查询的链接

enter image description here

帮我弄清楚备用查询..

2 个答案:

答案 0 :(得分:1)

尝试删除NOT IS CLAUSE

已将其删除,并使用了LEFT JOIN

select 
slno 

from invoice_master 
LEFT JOIN invoice_refresh on (Inv_slno = slno )
where Inv_slno is null

答案 1 :(得分:0)

我建议您使用LEFT OUTER JOIN

SELECT m.slno 
FROM `invoice_master` m 
LEFT OUTER JOIN `invoice_refresh` r ON m.slno = r.Inv_slno
WHERE r.Inv_slno IS NULL