MySQL如何优化内部连接

MySQL如何优化内部连接,mysql,Mysql,我有一个MySQL内部连接,可以跳4个表,如下所示: Select users.id as id, import_logs.id as import_log_id from users inner join user_infos on users.id = user_infos.user_id inner join import_entries on user_info.entry_id = import_entries.entry_id inner join import_logs o

我有一个MySQL内部连接,可以跳4个表,如下所示:

Select users.id as id, import_logs.id as import_log_id from users 
 inner join user_infos on users.id = user_infos.user_id
 inner join import_entries on user_info.entry_id = import_entries.entry_id
 inner join import_logs on import_entries.import_id = import_logs.id
 where users.org_id = 100 and improt_logs.import_date > '2017-01-01'
基本上,我有一个
users
表,它通过id链接到
user\u infos
表。
user\u infos
通过
entry\u id
链接到
import\u entries
表,而
import\u entries
通过
import\u id
链接到
import\u logs
表。我想跳转不同的表以获取用户id及其相应的导入日志导入id。鉴于除了users.org\u id和import\u logs.import\u date之外,没有其他方法可以进一步筛选表,我如何优化此查询


对于小表,此查询运行良好,但当表变大时,速度可能会非常慢。对如何优化它有什么见解吗?(子查询?)。此外,切勿使用SELECT*。相反,始终命名并正确标识您实际想要返回的列。在某些情况下,子查询的性能优于太多的联接。请用数据发布表架构。