一、前言 上次在年前快要放假的时候记录的一篇安装SSL证书的内容,因为当时公司开始居家办公了,我也打算回个家 毕竟自己在苏州这半年一个人也是很想家的,所以就打算年过完来重新写博客。不巧的是,当时我2月中旬刚到苏州, 没想到苏州疫情爆发了,直接隔离十四天,自己平时就完成公司的开发任务 ...
.原来的sql: 查询的场景是这样的: 司机表和订单表的数据,需要展示在订单表已经有的司机,如果司机是已经完单,则显示为空闲,然后可以继续给改司机派单子。如果是已经出发,需要显示当前司机是已出发 已到达或者已经完成这样的状态。所以需要显示当前有订单的司机以及空闲的司机。 但是用上面的sql 使用执行计划查看: 主要问题出现在下面的union的 left join 。 因为要查询出来空闲的司机,刚 ...
2020-02-19 11:01 0 1006 推荐指数:
一、前言 上次在年前快要放假的时候记录的一篇安装SSL证书的内容,因为当时公司开始居家办公了,我也打算回个家 毕竟自己在苏州这半年一个人也是很想家的,所以就打算年过完来重新写博客。不巧的是,当时我2月中旬刚到苏州, 没想到苏州疫情爆发了,直接隔离十四天,自己平时就完成公司的开发任务 ...
这两天实习项目遇到一个网页加载巨慢的问题(10多秒),然后定位到是一个MySQL查询特别慢的语句引起的: 抽出查询慢关键部分: 这个语句导致前端页面10多秒才有响应(但MySQL执行显示要4.6秒,phpMyAdmin也是10秒左右响应,为何?) IN子查询语句优化 把IN语句里面 ...
今天收到一个同事的问题,有一段SQL跑了很久很久,根本没有结果,根据同事的反映,这个SQL一个月比一个月要慢。这是不被允许的事情,我们要做的就是对这个SQL进行一次优化。下面就是这次优化的记录。 首先说SQL: 这段代码隐藏了敏感信息,可能会有一些 ...
背景:从两张有关联的表查询数据,A表数据量1400万,B表数据量8000万。A与B通过ID逻辑关联,没有实际的外键。B表是后来扩展出来的. 问题:根据某个ID查询时超时,运行时跑不出结果。 原因:使用一个or条件,条件里面有一个是A.ID=B.ID 简单优化:将or条件拆开,使用union ...
今天收到一个同事的求助,说有一个SQL跑了一个多小时没有结果。我看了看,这个SQL是这样的(隐藏了敏感信息): 我首先查看了两个表的数据量,表1有将近300万条,表2有不到10万条记录。并不是很大的数据。于是我关注到了not in,这个语句是几乎所有 ...
再来看看这个SQL: 标黄色的SQL:执行的结果是: (无列名) (无列名)1102 软件11021103 软件11031104 软件11041105 软件11051106 软件1106 我们已经学过Union关键字,会自动去除重复数据。所以只查询 ...
一、问题背景 现网出现慢查询,在500万数量级的情况下,单表查询速度在30多秒,需要对sql进行优化,sql如下: 我在测试环境构造了500万条数据,模拟了这个慢查询。 简单来说,就是查询一定条件下,都有哪些用户的。很简单的sql,可以看到,查询耗时为37秒。 说一下 ...