首页 > 数据库 >mysql 连表查询太慢

mysql 连表查询太慢

时间:2024-10-31 17:12:53浏览次数:3  
标签:code pub 查询 连表 num user mysql id 太慢

  优化 join on性能,解决联表查询慢的问题

  这里只提供一种方式啊,就是如果连表有查询条件,那就先把条件查了,然后再连表,这个很有用

  比如:pub_user1 与 pub_user2 有相同的字段 user_id


  直接这么写会多查询很多数据

SELECT
    a.user_id,
    a.user_name,
    b.user_code,
    b.user_num
FROM
    pub_user1 a
RIGHT JOIN pub_user2 b ON a.user_id = b.user_id
AND b.user_num > 0;

 

  可以改成这样:

SELECT
    a.user_id,
    a.user_name,
    b.user_code,
    b.user_num
FROM
    pub_user1 a
RIGHT JOIN (
    SELECT
        user_id,
        user_code,
        user_num
    FROM
        pub_user2
    WHERE
        user_num > 0
) AS b ON a.user_id = b.user_id;

 

原创文章,欢迎转载,转载请注明出处!



标签:code,pub,查询,连表,num,user,mysql,id,太慢
From: https://www.cnblogs.com/acm-bingzi/p/18518382/join_on

相关文章

  • Window Docker 安装MySQL8.0全流程
    mysql部分转自:https://blog.csdn.net/weixin_42197001/article/details/138184306#mysql8_7一:安装dockerWindows中的Docker它可以依赖于两种环境,分别是:Hyper-V、WSL。第一种是一个虚拟环境,也就是虚拟机,第二中是Windows的Linux子系统(系统要求不低于Window10的2021版本)。我选......
  • 科普文:软件架构数据库系列之【MySQL:InnoDB预读Ahead-read(线性预读linear read-ahead和
    概叙操作系统文件预读(Prefetching)科普文:软件架构Linux系列之【Linux的文件预读readahead】-CSDN博客前面文章我们从操作系统角度解释了文件预读readahead,指Linux系统内核将指定文件的某区域预读进页(OSpagecache)缓存起来,便于接下来对该区域进行读取时,不会因缺页(pagefault)......
  • 基于SpringBoot+MySQL+SSM+Vue.js的交友系统(附论文)
    获取见最下方名片信息获取见最下方名片信息获取见最下方名片信息演示视频基于SpringBoot+MySQL+SSM+Vue.js的交友系统(附论文)技术描述开发工具:Idea/Eclipse数据库:MySQLJar包仓库:Maven前端框架:Vue/ElementUI后端框架:Spring+SpringMVC+Mybatis+SpringBoo......
  • 基于SpringBoot+MySQL+SSM+Vue.js的宠物猫售卖管理
    获取见最下方名片获取见最下方名片获取见最下方名片演示视频基于SpringBoot+MySQL+SSM+Vue.js的宠物猫售卖管理技术描述开发工具:Idea/Eclipse数据库:MySQLJar包仓库:Maven前端框架:Vue/ElementUI后端框架:Spring+SpringMVC+Mybatis+SpringBoot文字描述基......
  • Mysql慢日志转Excel
    最近公司生产环境需要排查慢SQL,导出日志txt文件后排查混乱,查找相关资料后并没有找到方便快捷的格式化处理工具,于是自己编写了一套Java读取慢SQL日志转为Excel小工具。@DatapublicclassSlowQuery{privatedoublequeryTime;privatedoublelockTime;privateS......
  • MySQL从节点异常宕机重启后遇到主键冲突
    一台虚机在迁移过程中遇到点问题,然后运维做了重启的操作。重启后,发现该虚机中的mysql从库与主库的同步失败了。登录后查看,发现sqlthread停止运行了:mysql>showslavestatus\G***************************1.row***************************Slave_IO_St......
  • 小白手把手教学用spring框架实现mybatis和mysql以及工作原理
    Maven_Mybatis_Mysql什么是MybatisMyBatis是一款优秀的持久层框架,它支持自定义SQL、存储过程以及高级映射。MyBatis免除了几乎所有的JDBC代码以及设置参数和获取结果集的工作。MyBatis可以通过简单的XML或注解来配置和映射原始类型、接口和JavaPOJO(PlainOldJavaObj......
  • MySQL的主从切换在什么情况下使用
    主从切换一般在如下情况下才进行:1、例行的主库重启,主库运行一段时间后需要将主库进行重启扫盘,降低主库死机的风险;2、主库异常情况下切到从库。3、分机房网络调整涉及到主库的情况。一、MySQL的主从切换在什么情况下使用主从切换一般在如下情况下才进行:1、例行的主库重启,主库......
  • 遇到慢查询怎么办?一文解读MySQL 8.0查询分析工具
    本文分享自华为云社区《【华为云MySQL技术专栏】MySQL8.0EXPLAINANALYZE工具介绍》,作者:GaussDB数据库。1.EXPLAINANALYZE可以解决什么问题MySQL8.0.18版本开始支持查询分析工具EXPLAINANALYZE,该工具不仅会实际执行SQL语句,还会展示SQL语句详细的执行信息,包含执行算子(It......
  • 织梦取消MySQL错误日志生成文件功能防止暴露后台和管理员
    问题描述织梦程序在MySQL错误时会生成 mysql_error_trace.inc 文件,记录错误信息,可能导致后台目录和管理员账号信息泄露。解决方法编辑 dedesql.class.php 文件打开 /include/dedesql.class.php 文件。删除错误日志生成代码找到以下代码并删除://保存MySql错......