单表数据量大,怎么优化? 先不急着考虑分库分表,可以从 优化缓存归档分区分布式 ,五个方面试试

  • 数据库基本优化,单表 2000w,做好索引,减少多表 join,适量的字段冗余
  • 减少对数据库的压力,缓存机制,把能接受延迟的,或者数据的变化频率不是那么高的,放到分布式缓存,或者本地缓存当中
  • 冷热数据隔离,把那些更新和查询都不频繁的数据单独隔离出来,可以放到历史表或者是离线数仓中,减少表中的数据量,来提升效率,也称作数据归档
  • 数据库分区,存储在不同的表当中,可以减少单表的数据量,提升查询性能
  • 分布式数据库,讲数据分散到多个节点上,提升性能和容量