mysql在常规配置下,一般只能承受2000万的数据量(同时读写,且表中有大文本字段,单台服务器),其实当数据量达到500万-800万的时候就应该考虑做优化。现在超过1亿,并不断增加的情况下,建议如下处理:

    1. 分表,可以按时间,或按一定的规则拆分,比如分类,做到查询某一条数据,尽量在一个子表中。比如分表可以采用按时间分,根据实际情况一个月或一个季度的分
    2. 分库,分库最基本的就是读写分离,不行就多加机器做负载,尤其是写入,放在新表中,定期进行同步,如果其中记录不断有update,最好将写的数据放在redis中,定期同步
    3. 表的大文本字段分离出来,成为独立的新表。存储大文本字段,可以使用NOSQL数据库
    4. 优化架构或优化SQL查询,避免联表查询,尽量不要用count(*), in,递归等消耗性能的语句
    5. 使用缓存,重复读取时,直接从缓存中读取

    上面是低成本的管理方法,基本几台服务器即可搞定,但是管理起来麻烦一些。

    https://www.qindaosou.com/ask/20200912509722.html