表中包含几千万条数据该怎么办?

Wenhao 9月前 ⋅ 45 阅读

建议按照如下顺序进行优化:

  1. 优化SQL和索引;

  2. 增加缓存,如memcached、redis;

  3. 读写分离,可以采用主从复制,也可以采用主主复制;

  4. 使用MySQL自带的分区表,这对应用是透明的,无需改代码,但SQL语句是要针对分区表做优化的;

  5. 做垂直拆分,即根据模块的耦合度,将一个大的系统分为多个小的系统;

  6. 做水平拆分,要选择一个合理的sharding key,为了有好的查询效率,表结构也要改动,做一定的冗余,应用也要改,sql中尽量带sharding key,将数据定位到限定的表上去查,而不是扫描全部的表。


全部评论: 0

    我有话说: