我有两个桌子
主数据(id,datek,timesk):该表存储了约5亿条记录。
虚拟(id,datek,timesk):该表存储了1000万条记录
数据类型:Id为varchar(500),日期和时间为整数。
我必须从Master中找到(id,datek,timesk)元组,这些元组不在Dummy中。我可以在三个字段上使用NOT EXISTS或LEFT JOIN。
但是,执行查询要花费很多时间。这两个表上都没有索引。
任何有关性能改进的技巧将不胜感激。
UPDATE 1
感谢您的建议。我尝试了以下操作,但没有]]的执行时间(〜30分钟)或I / O估计成本(〜7000)都有改善。
还有其他建议吗?
我有两个表Master(id,datek,timesk):该表存储约5亿条记录。虚拟(id,datek,timesk):该表存储1000万条记录。数据类型:Id为varchar(500),datek和...
您可以索引dummy
。我建议:
select m.*
from master m
where not exists (select 1
from dummy d
where d.id = m.id and d.datesk = m.datesk and d.timesk = m.timesk
);