数据库优化

来源:互联网 发布:小说地图制作软件 编辑:程序博客网 时间:2024/05/17 15:41

1、分库

水平分库:

  • 数据库文件分放到不同磁盘,充分利用IO
  • 表分区:表数据库可以进行分区,按照条件分区
  • 主动分区:历史数据放到历史表,当前表放当前3天的数据(设计到数据复制到历史表,一般服务晚上执行sql)


垂直分库:

  • 把数据库分成多个数据库。根据业务模块分,例如用户相关的放到一个库,订单相关放到一个库。当然会设计到某个表的关联比较强,此时需要业务代码分开查询sql。不要连库查询。


2、数据库集群

  • 读写分离。一些库专门用来写数据,一些库用来读数据。(设计到数据同步问题),解决同步问题:sqlserver有订阅发布,读数据库订阅写数据库的修改信息进行同步数据。


3、用缓存解决磁盘IO问题

  • Redis

其他优化:提升硬件,建表索引(索引一般用于读比较多的表,因为如果写比较多的表建索引,会引起索引重建降低性能)。