MySQL LeftJoin优化未果问题
来源:互联网 发布:女生自夸的网络句子 编辑:程序博客网 时间:2024/06/02 06:38
MySQL 优化未果解决SQL查询慢的方案
场景再现
前几天遇到一个SQL优化的问题,场景是这样,有两个表A表和B表,AB表的关系是一对多的关系。A表数据是8万多,B表数据是几千多。现在要执行一个SQL,意思如下:
select a.id,b.time from a left join (select aid, max(b.time) as time from b group by aid) as db on a.id = b.aid
分页使用的是MyBatis的分页插件PageHelper,执行完成这条SQL大概是60s,开启了MySQL 缓存,AB表都建 了索引。(但是没起作用)由于我对索引研究不深,几番尝试之下,索引还是没能起作用。
解决方案
- 方案一
重写分页,每次取15条,然后总条数只统计主表A表。前台的过滤条件都放到主表去筛数据,速度没问题了,但是当前台过滤条件有从表B表的字段时,这种方案就不行了。
select a.id,b.time from (select a.id from a where .... limit 0,15) as a left join (select aid, max(b.time) as time from b group by aid) as db on a.id = b.aid
- 方案二
或许投机取巧了,优化表结构,主表A表增加字段time,将max(b.time)放到A表里。最后正常从A表拿数据。
阅读全文
0 0
- MySQL LeftJoin优化未果问题
- MySQL下LeftJoin的性能优化
- LeftJoin条件问题
- laravel中数据库查询leftJoin应注意的问题
- sql里面leftjoin多表的问题记录
- Oracle企图收购开源数据库MySQL未果
- MySQL的优化问题
- Mysql的优化问题
- mysql索引优化问题
- laravel 解决leftjoin带条件查询没有返回右表为NULL的记录问题
- Mysql优化之问题定位
- mysql优化之版本问题
- Mysql优化之问题定位
- 遇到的Mysql优化问题
- MYSQL关于limit优化问题
- slightphp query sql leftjoin
- sql LeftJoin 用法详解
- 再说两句话 - mysql 优化问题
- 微服务--Microservice
- 五分钟读懂SIGIR 2017前沿技术研究成果
- 模糊匹配并替换
- SQL Server DATEPART() 函数
- 深入理解JVM—JVM内存模型
- MySQL LeftJoin优化未果问题
- FTPrep, 28 Implement strStr()
- Markdown
- Keras中的多分类损失函数categorical_crossentropy
- linux共享内存
- 吊炸天!74款APP完整源码!
- 如何学习嵌入式软件
- java关键词全文搜索实例
- 两种方式避免除掉App启动白屏,有待完善!!!