文章详情页
mysql - sql语句优化问题
浏览:209日期:2022-06-11 13:51:54
问题描述
select a,sum(b) from c GROUP BY a;select a from c;
假设c表数据量上百万,那怎么优化这2条数据,让执行更快。谢谢了
问题解答
回答1:没法从索引上优化,你使用group by 而且没有设定where条件,mysql已经全表读取。而且假如是上百万的数据,个人不提倡在表中直接用sum去统计每个a的总数。建议优化是这样的。1.建立定时任务和临时表、统计表2.定时读取一定量的数据,将那段数据统计信息记录到统计表中,将获取一定量数据的最后一个id值作为记录,写入临时表。下次读取时候以该id最为条件。
这样分段统计,可以满足你两个优化条件
回答2:先a字段加上索引吧
回答3:MySQL如何优化GROUP BY
回答4:建立复合索引(a,b),两个sql都会走索引扫描
另外对于统计类sql肯定是放在专门的报表库做的,定时分段统计
相关文章:
1. 下一个页面的三角在上面一个页面会出现,在缩放的时候会遮住文字。2. android - mac平台运行快捷键咋按3. mysql优化 - mysql 多表联合查询,求一个效率最高的查询4. weex - Android 原生Vue.js 使用 justify-content: flex-end; 不起作用5. 数据库 - mysql中怎样修改带点的字段名的位置?6. python - Django ManyToManyField 字段数据在 admin后台 显示不正确,这是怎么回事?7. php由5.3升级到5.6后,登录网站,返回的是php代码,不是登录界面,各位大神有知道的吗?8. 为什么span的color非要内联样式才起作用?9. mysql 能不能创建一个 有列级函数 的联合视图?10. javascript - vue-cli热更新的问题【webpack配置】
排行榜

网公网安备