MySql查询花费太长时间来提供结果
Select pty_code from sis.tblBf a where a.BFno
not in (select b.BNo from sislatest.tbltransaction b)
注意:我正在比较两个不同的数据库并获得差异。
Select A.pty_code from DataBase1.TableName A
where A.BFno NOT IN (SELECT B.BNo From DataBase2.TableName B)
答案 0 :(得分:1)
也许是索引问题?这就是mysql解释语法的用武之地:
http://dev.mysql.com/doc/refman/5.0/en/using-explain.html
其他可能有用的方法是“优化表格”,甚至“分析表格”以检查是否存在不一致。
答案 1 :(得分:1)
使用subselect,尤其是“not in”子句会变慢。我建议在where子句中使用“is null”重写为左外连接。
SELECT a.pty_code from sis.tblBf a LEFT JOIN sislatest.tbltransaction b on b.BNo = a.BFno WHERE b.BNo IS NULL
我认为这样可行,但如果没有数据库进行测试,我会盲目地写它。
如果那仍然很慢,我会看看并确保b.BNo和A.BFNo上有索引。