解决mysql in查询不使用索引的问题

解决mysql in查询不使用索引的问题

mysql 使用IN关键字时,在IN中写子查询会导致索引失效的问题,对于数据量很大的情况下查询会非常慢

例如:

select * from tb_file where id in (select id from meeting where userId = 'xxx')

这个时候查询tb_file时将不会使用索引

解决办法:

使用join建立关系,上述只是简单的子查询,下面的方案适用任何情况,直接把子查询作为临时表

select * from tb_file t join (select id from meeting where userId = 'xxx') RES on t.id=RES.id
评论区
头像