标题:求助mysql存储大数据量一直增长问题
只看楼主
piqiuarm
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2013-12-8
结帖率:100%
已结贴  问题点数:5 回复次数:2 
求助mysql存储大数据量一直增长问题
Hi,各位大侠

软件环境:MySql
数据库名称:BBS_WW (在mysql中创建数据库BBS_WW)

需求描述:
数据的存储形式是:数据将会一直存储数据到数据库BBS_WW,并且数据不会被定期删除和废掉。

需求分析:
数据不会被定期删除,会造成:
1.数据库中数据表中的数据只增不减,这样的后果会使数据表的操作变慢,影响效率;
2.数据库中数据表中的数据只增不减,等硬盘容量达到上限,就无法再继续存储数据;

请问这样的需求是否合理?



搜索更多相关主题的帖子: 数据库 数据表 mysql 软件 影响 
2017-04-27 17:28
mywisdom88
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:190
帖 子:3125
专家分:8340
注 册:2015-3-25
得分:5 
问题1,数据只增加不减少,时间长了,数据操作肯定会变慢。有的软件,在设计时,就会把某些在当前情况下,不能修改的数据,作为历史数据,存放在另外的1个数据库中,只提供以后查询。比如,把2年前的数据,定义为历史数据。。。
问题2,现在的硬盘容量不断增大,这个不成问题。

[此贴子已经被作者于2017-4-28 08:50编辑过]

2017-04-28 08:48
piqiuarm
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2013-12-8
得分:0 
回复 2楼 mywisdom88
你好, mywisdom88
非常感谢你的相助

问题1,数据只增加不减少,时间长了,数据操作肯定会变慢。有的软件,在设计时,就会把某些在当前情况下,不能修改的数据,作为历史数据,存放在另外的1个数据库中,只提供以后查询。比如,把2年前的数据,定义为历史数据。。。

1.“数据只增加不减少,时间长了,数据操作肯定会变慢。”
针对这个问题,我在数据库中使用了分表的设计,将分表的名称通过union命令到总表
这样查询的时候到分表查询,速度会快一些。
例如:总表 totaldb; 分表是 detable0,detable1.....
执行:ALTER TABLE totaldb ENGINE= MRG_MYISAM UNION=(detable0,detable1) INSERT_METHOD=LAST AUTO_INCREMENT=1

疑问:发现在UNION=(detable0,detable1.....)的时候,随着分表数量的增多,所有分表名称加起来的总长度占空间太大,
即使使用malloc来分配空间,也满足不了“(detable0,detable1.....)”字符串所占空间
这种分表方式合理吗?有没有其他更好的分表策略呢?

2017-04-28 09:24



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-476489-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.189421 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved