嵌套查询比每个单独的查询慢得多

时间:2017-01-15 15:23:12

标签: mysql sql

我正在尝试运行一个使用从另一个查询中提取的ID列表的查询。每个单独的查询都足够快,可以达到我的目的(0.5秒以内)但合并后的查询非常慢。

第一个查询是获取ID列表,需要0.2秒:

select distinct column1 
    from table1 where id in
    (select id from table2 where match(column3) against('keyword' in boolean mode)) 
    limit 10000000;

第二个查询,现在使用id列表,从第一个查询手动解析,需要0.16秒:

select * from table3 where id in (
    -- list of ids parsed manually
) limit 10000000;

但是当我将两个查询组合在一起时,它会运行超过6分钟。这是组合查询:

select * from table3 where id in (
    select distinct column 
        from table1 where id in
        (select id from table2 where match(column3) against('keyword' in boolean mode))
) limit 10000000;

我错过了什么?

0 个答案:

没有答案