我们知道,随着架构的复杂,所付出的架构设计的代价就越来越大,所以如果MYSQL单表数据量太大了,可以按如下升级方案进行。
1、做缓存
可以做一层redis缓存来提高查询效率,有些大公司,因为内存的价格可以接受,把所有数据都进行了缓存。
2、备份历史数据
正常MYSQL有一千万条数据都是可以接受的,如果有几千万条了,那么就太多了,可以把历史数据备份删除到另一个表中,比如前端查询可以按时间范围查询,如果是备份的时间范围内就去查备份表。然后起个定时程序或者存储过程定时把表中的数据备份即可。
3、分表
如果有些表不适合做备份,那么可以考虑进行分表,保证每个表都在一千万以内的数据量较好,但是不要做分库先,分库就更加增加了复杂度。
4、分库
如果需要考虑高性能,高并发可能就需要进行分库了。