我正在尝试使用以下查询执行两个表:
select * from task1,task2
where task1.From_Number=task2.To_Number
and task1.Start_Time<task2.Start_Time;
它最终将起作用,但永远都是如此。这些表有33列,一列有大约45k行,另外有500k行。各列中都有重复项,没有列是唯一的,因此不存在主键。表格是从电子表格中导入的。
有一堆电话记录,如上所述,每列中有几个重复记录。我该怎么做才能让这个查询更快地运行?我只匹配几列,但需要打印所有列并将结果输出到csv。
答案 0 :(得分:1)
您可以做的最好的事情是在两个表中的两列上创建一个非唯一索引。
阅读MySQL documentation on creating an index。
类似的东西:
create index task1_idx
on task1
( From_Number
, Start_Time
)
和
create index task2_idx
on task2
( To_Number
, Start_Time
)