从具有大量数据的2个Mysql表中获取未经处理的数据

时间:2018-04-16 05:34:02

标签: mysql sql

我有两个MySQL表,表A(80,00,000条记录)和表B(20,00,000条记录),它们共享一个公共列mobile_no,它的数据类型是{{1 }}。我想比较它们并获取无法比拟的记录。

我有以下解决方案,仅适用于小型数据集:

BIGINT(20)
  

注意:我已在两个表中的列mobile_no上应用了索引。

当我运行上述查询时,在默认时间(10分钟)后停止执行。我们也增加了时间,但仍然无法获得大量数据的输出。

如果有人为我解决这个问题,我将不胜感激。

1 个答案:

答案 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,了解如何微调查询以使其更快地运行。