数据库查询优化之子查询优化

 更新时间:2019年01月10日 14:05:16   作者:qq_43193797  
今天小编就为大家分享一篇关于数据库查询优化之子查询优化,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

1. 案例

取所有不为掌门人的员工,按年龄分组!

select age as '年龄', count(*) as '人数' from t_emp where id not in 
(select ceo from t_dept where ceo is not null) group by age;

如何优化?

①解决dept表的全表扫描,建立ceo字段的索引:

此时,再次查询:

②进一步优化,替换not in。

上述SQL可以替换为:

select age as '年龄',count(*) as '人数' from emp e left join dept d on e.id=d.ceo where d.id is null group by age;

结论: 在范围判断时,尽量不要使用not in和not exists,使用 left join on xxx is null代替。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接

相关文章

  • MySQL巧用sum、case和when优化统计查询

    MySQL巧用sum、case和when优化统计查询

    这篇文章主要给大家介绍了关于MySQL巧用sum、case和when优化统计查询的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • mysql 5.7.17 zip安装配置教程 mysql启动失败的解决方法

    mysql 5.7.17 zip安装配置教程 mysql启动失败的解决方法

    这篇文章主要为大家详细介绍了mysql 5.7.17 zip安装配置教程,以及mysql启动失败的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-06-06
  • MySQL 搭建MHA架构部署的步骤

    MySQL 搭建MHA架构部署的步骤

    这篇文章主要介绍了MySQL 搭建MHA架构部署的步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • mysql 5.7.11 安装配置教程

    mysql 5.7.11 安装配置教程

    这篇文章主要为大家详细介绍了mysql 5.7.11 安装配置教程,感兴趣的小伙伴们可以参考一下
    2016-06-06
  • mysql关于or的索引的问题及解决

    mysql关于or的索引的问题及解决

    这篇文章主要介绍了mysql关于or的索引的问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • MySQL中常用的字段截取和字符串截取方法

    MySQL中常用的字段截取和字符串截取方法

    在 MySQL 数据库中,有时我们需要截取字段或字符串的一部分进行查询、展示或处理,本文将介绍 MySQL 中常用的字段截取和字符串截取方法,帮助你灵活处理数据,需要的朋友可以参考下
    2024-01-01
  • DQL命令查询数据实现方法详解

    DQL命令查询数据实现方法详解

    DQL(Data Query Language,数据查询语言),查询数据库数据,如SELECT语句,简单的单表查询或多表的复杂查询和嵌套查询,数据库语言中最核心、最重要的语句,使用频率最高的语句
    2022-09-09
  • 修改MySQL的数据库引擎为INNODB的方法

    修改MySQL的数据库引擎为INNODB的方法

    本文主要介绍了修改MySQL的数据库引擎为INNODB的方法,希望能对您有所帮助。
    2015-09-09
  • mysql tmp_table_size和max_heap_table_size大小配置

    mysql tmp_table_size和max_heap_table_size大小配置

    这篇文章主要介绍了mysql tmp_table_size和max_heap_table_size大小配置,需要的朋友可以参考下
    2016-05-05
  • Win10 MySQL如何解决secure_file_priv在my.ini无法设置问题

    Win10 MySQL如何解决secure_file_priv在my.ini无法设置问题

    这篇文章主要介绍了Win10 MySQL如何解决secure_file_priv在my.ini无法设置问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-04-04

最新评论