ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

记一次MySql千万级数据量单表按日分组查询平均值的优化遇到的各种问题

2021-07-07 18:34:53  阅读:195  来源: 互联网

标签:int drop 千万级 查询 单表 数据量 where


1、单表千万级数据量 子查询 where  in 要比 where exists 快(查询时间差了100倍)

2、需要对datetime类型进行group by时(众所周知,函数不走索引),把日期的值拆分,比如要按日进行分组,则增加字段int 存放yyyyMMdd(为什么不是varchar,尽量用int等小字节,加快速度)

3、数据量不大的临时表的存储引擎用engine=MEMORY ,优化效果很明显。数据量太大的不建议,因为很吃内存,内存不够数据可能会丢失数据或者中断存储过程

4、truncate是先执行drop操作,然后再执行create操作,执行完成后会恢复初始的表空间。(找资料时看到有文章说对于临时表要先truncate再drop,差点被坑死,故有此一记)

 

更优的方法当然是把数据放到nosql/newsql里去,奈何领导不同意,只能先从数据库层面入手了。

标签:int,drop,千万级,查询,单表,数据量,where
来源: https://www.cnblogs.com/arthaslcm/p/14956517.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有