Mysql 数据冗余量太大怎么办

开发过程中,我们有底层设备向上传输设备的温湿度以及上传时间,
现在数据库的容量似乎不够了,
仔细看数据库发现很多数据都十分相似。
请问各位对这样情况是如何处理呢?
图片说明
目前两个方法,一个是进行数据库的优化,但是不知从和下手,
另一个就是使用阿里云的表格储存,容量大,经费低,但是对代码改动很大。

2个回答

建议采用数据库优化,你们的表格应该只有一张表,你们的数据也是时时需要的,所以没有办法减少数据的录入
你可以对数据库进行垂直+水平拆分
垂直就是拆库,例如可以新建10个数据库,
然后进行水平拆分,一个数据库建立10张表,这样你的这个表的数据就分布在了100张表里面,
你可以给数据加一个字段,用于标注该数据在那个数据库的那个表,
由于你们的数据有时间作为标志,为了以后查询方便,所以建议使用时间来标注是那个数据库的那张表,
例如:20170308这天,你可以通过第一次求余,得到那个数据库,在通过另一次求余,得到哪张表,
以后需要查询数据的时候就可以轻松获取了,
如果现在的数据是100W,那么这样一份后每个表就有1W的数据,查询自然就快了。以后不够,还可以继续扩张

u014043682
青峰码农 回复青峰码农: 不好意思点了评论,我还没说完,我们现在面临的问题是,数据库的容量快到了。但是我个人觉得并没有存储很大的数据。用的阿里云服务器。如果没法压缩现有的数据库的话,分表分库提高效率也是个不错的想法。谢谢了!
3 年多之前 回复
u014043682
青峰码农 谢谢兄弟的热情回复,其实我们这里已经对表进行划分了,我们每一台设备其实都新建了一张表,我们进行存储的时候,不是所有的设备都共用一张表,而是1对1的关系,但是就算是1对1的关系,数据量也比较大。
3 年多之前 回复

那为啥不考虑把数据几乎不变的属性给分成一个新表 用一对多关联不可以么?

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐