在优化join查询的过程中

需要理解MySQL对多表连接的处理方式,首先MySQL优化器要确定以谁为驱动表,也就是说以哪个表为基准,在处理此类问题时,MySQL优化器采用了简单粗暴的解决方法:哪个表的结果集小,就以哪个表为驱动表,当然MySQL优化器实际的处理方式会复杂许多。

MySQL优化器选择小表作为驱动表,但是当我们的排序字段是在大表里,于是乎不可避免的出现了「Using filesort」,「Using temporary」

这样效率会慢很多

当使用inner join时,我们可以使用 SELECT STRAIGHT_JOIN xxx字段,xxxx字段  ,来强制使用左边的表作为主表,这样就能应用到索引了

默认速度很慢,是这样的

[MySQL系列] SELECT STRAIGHT_JOIN优化join查询技巧相关推荐

  1. 35 | 别再说不能使用Join了(这次是优化Join查询-下篇)

    云里雾里,不知所以- 一.前言 现有两张表:t1(1000行数据,a=1001-id)的值,t2(100w行数据) 语句如下: create table t1(id int primary key, ...

  2. MySQL系列:性能优化

    1. 优化简介 MySQL性能优化包括:查询优化.数据库结构优化.MySQL服务器优化等. 2. 查询优化 2.1 分析查询语句 MySQL提供EXPLAIN和DESCRIBE,用来分析查询语句. E ...

  3. MySQL系列11—简单优化

    文章目录 1. 结构优化 1.1 四大范式 1.2 分区表 1.2.1 分区表的操作 1.2.2 分区类型 1.2.3 分区实例 1.3 分库分表 3. 查询优化 3.1 MySQL中的select执 ...

  4. mysql 开发进阶篇系列 23 应用层优化与查询缓存

    一.概述 前面章节介绍了很多数据库的优化措施,但在实际生产环境中,由于数据库服务器本身的性能局限,就必须要对前台的应用来进行优化,使得前台访问数据库的压力能够减到最小. 1. 使用连接池 对于访问数据 ...

  5. mysql空值判断怎么优化_MySQL查询语句优化的十个小技巧!

    前言 查询语句的优化是SQL效率优化的一个方式,可以通过优化sql语句来尽量使用已有的索引,避免全表扫描,从而提高查询效率.最近在对项目中的一些sql进行优化,总结整理了一些方法. 1.尽量避免在 w ...

  6. mysql事务select数据慢_mysql查询缓慢原因和解决方案

    查询速度慢的原因很多,常见如下几种: 1.没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 2.I/O吞吐量小,形成了瓶颈效应. 3.没有创建计算列导致查询不优化. 4.内存不足 ...

  7. 优化mysql数据库_MySQL数据库优化技巧大全

    简介:MySQL数据库优化技巧大全 MySQL优化三大方向 ① 优化MySQL所在服务器内核(此优化一般由运维人员完成). ② 对MySQL配置参数进行优化(my.cnf)此优化需要进行压力测试来进行 ...

  8. mysql读缓存_优化MySQL,还是使用缓存?读一篇文章有感

    今天我想对一个Greenfield项目上可以采用的各种性能优化策略作个对比.换言之,该项目没有之前决策强加给它的各种约束限制,也还没有被优化过. 具体来说,我想比较的两种优化策略是优化MySQL和缓存 ...

  9. CPU CACHE优化 性能优化方法和技巧

    转载来源:性能优化方法和技巧 系列目录 性能优化方法和技巧 性能优化的方法和技巧:概述 性能优化的方法和技巧:代码 性能优化的方法和技巧:工具 这是一个可以用一本书来讲的话题,用一系列博客来讲,可能会 ...

  10. MySQL系列-- 4. 查询性能优化

    4. 查询性能优化 4.1 为什么查询速度会变慢 快速查询取决于响应时间 如果把查询看成是一个任务,那么它由一系列子任务组成,每个子任务都会消耗一定的时间.如果要优化查询,实际上要优化其子任务,要么消 ...

最新文章

  1. 命名实体识别_用膨胀卷积进行命名实体识别 NER
  2. Android 缓存目录 Context.getExternalFilesDir()和Context.getExternalCacheDir()方法
  3. C语言之从内存角度理解不同类型的变量
  4. 执行maven clean package 时报OutOfMemoryError的解决办法
  5. JDK1.8 之Stream API总结
  6. BMP位图之8位位图(三)
  7. drupal 字符串替换符号 @ % !
  8. 几句话实现导航栏透明渐变 – iOS
  9. python在线游戏_几个简单的python小游戏
  10. 第九届蓝桥杯本科Java B组题解【省赛】
  11. Qt QAbstractSocket::isValid()
  12. 桌面计算机文件夹图标没了,电脑文件夹图标不见了怎么办
  13. 华为防火墙配置IPSEC实现二个站点间网络互通 隧道模式 web配置(二)
  14. VScode插件Markdown Preview Enhanced自定义字体style
  15. 实验三 高速公路收费站双收费口仿真
  16. A*寻路算法之解决目标点不可达问题
  17. cv2 interpolate插值-align_corners
  18. Java 图片压缩的学习记录
  19. javascript写的日历控件(收藏)
  20. 第三届火焰杯软件测试初赛题目

热门文章

  1. macbook更新系统服务器,为Mac新系统做准备 苹果更新OSX Server
  2. 计算机中 空间局限性(Spatial Locality)与时间局限性(Temporal Locality)
  3. android农历计算器,农历生日计算器,虚岁计算器
  4. 科技的性感:三星冰洗如何演绎时尚生活?
  5. android app申请内存大小,Android中App可分配内存的大小
  6. 深入了解一下C语言scanf()库函数
  7. 论界面设计与用户需求
  8. 如何解决苹果电脑键盘失灵的问题
  9. php 重写url 控制器方法,怎么设置php开源程序伪静态(URL 重写)设置通用方法
  10. VMware三种网络模式配置详解。