我有两个MySQL表,表A(80,00,000条记录)和表B(20,00,000条记录),它们共享一个公共列mobile_no
,它的数据类型是{{1 }}。我想比较它们并获取无法比拟的记录。
我有以下解决方案,仅适用于小型数据集:
BIGINT(20)
注意:我已在两个表中的列mobile_no上应用了索引。
当我运行上述查询时,在默认时间(10分钟)后停止执行。我们也增加了时间,但仍然无法获得大量数据的输出。
如果有人为我解决这个问题,我将不胜感激。
答案 0 :(得分:1)
试试这个,让我们知道它是否适用于指定的大型数据集..
SELECT A.mobile_no
FROM A
LEFT JOIN B ON A.mobile_no = B.mobile_no and B IS NULL
如果它仍然没有在合理的时间范围内给你结果...那么尝试在你正在处理的两个表上创建索引。
您可以浏览此链接Indexes and Fine tuning,了解如何微调查询以使其更快地运行。