以一对多关系连接表,再加上索引

时间:2018-06-27 09:55:27

标签: mysql

我有一个工作表和一个任务表。 一项工作有很多任务。

我想查询特定日期的作业及其对应的任务,并且需要两个表中的所有列。

一种方法是:

SELECT * FROM Job LEFT JOIN Task ON Job.jobID=Task.jobID WHERE Job.jobDate=1530046800

这里的问题是我从作业列中获取了冗余数据。

另一种方法是将其分为两个查询,然后在服务器端使用代码进行处理。如:

SELECT * FROM Job WHERE jobDate=1530046800

Select Task.* from Task JOIN Job ON Task.jobID=Job.jobID WHERE Job.jobDate=1530046800

哪种方法是推荐的?还是有另一种推荐的方法?

还有,优化联接查询速度的最佳方法是在Job表上添加索引(jobID,jobDate),在Task表上添加索引(jobID)吗?

0 个答案:

没有答案