• ADADADADAD

    MySQL关于In的优化是怎么样的[ mysql数据库 ]

    mysql数据库 时间:2024-11-26 22:10:24

    作者:文/会员上传

    简介:

    MySQL版本:5.6.14files表记录的是dfs系统中的文件信息.有一批数据上传出现错误,需要重新上传.错误文件的范围已经记录在了test.files_20170206表中。运行如下查询,竟然很长

    以下为本文的正文内容,内容仅供参考!本站为公益性网站,复制本文以及下载DOC文档全部免费。

    MySQL版本:5.6.14

    files表记录的是dfs系统中的文件信息.

    有一批数据上传出现错误,需要重新上传.
    错误文件的范围已经记录在了test.files_20170206表中。

    运行如下查询,竟然很长时间没有结果.

      select * from files t1 where (oldpath,flen) in (

      select oldpath,max(flen) from files f where oldpath in

      (select oldpath from test.files_20170206 )

      group by oldpath

      )


    使用explain extended 查看执行计划





    原来的SQL,使用了Exists方式.

    改写SQL如下,实际上就是加了一层嵌套.

      select * from files t1 where (oldpath,flen) in (

      select * from (

      select oldpath,max(flen) from files f where oldpath in

      (select oldpath from test.files_20170206 )

      group by oldpath

      ) a

      )




    经过改写之后,就符合了原来的预期,先将结果保存为一个临时表.然后通过临时表再查数据.

    MySQL关于In的优化是怎么样的.docx

    将本文的Word文档下载到电脑

    推荐度:

    下载
    热门标签: inmysql