数据库优化思路

1、不分库分表

软优化

数据库连接池优化

慢sql优化,分析执行计划,改写sql和代码

优化表索引

引入nosql, 调整程序架构

硬优化

带宽、cpu、硬盘

2、分库分表

分表

解决单表数据量很大时,数据查询慢问题

垂直分表:表结构拆分

解决:表字段太多,每个字段访问频次不一样,将表根据字段使用频率拆分成2个表,释放IO资源

水平分表:数据拆分

解决:表数据量过大,查询时间慢,DDL(create/alter/add)时,锁表时间长 。

分库

如果分表解决不了问题,再考虑分库
解决访问量过大,单个数据库连接数过多问题。

垂直分库

解决数据库连接不够的问题,对不同业务进行拆分,一般单体项目改为微服务项目就是垂直分库。

水平分库

库的结构都一样,数据不一样。

带来的问题

  1. 分布式事务
    2)排序、分页、函数计算等问题
    3)主键重复
    4)数据扩容

分库分表中间件 ShardingSphere

简介

是⼀套开源的分布式数据库解决⽅案组成的⽣态圈,定位为
Database Plus
它由 JDBC、Proxy 和 Sidecar这 3 款既能够独⽴部署,⼜⽀
持混合部署配合使⽤的产品组成

三大构成

ShardingSphere-Sidecar
ShardingSphere-JDBC
ShardingSphere-Proxy

结论

数据量不是很大的情况下,首先考虑缓存、读写分离、索引技术

数据量很大时,考虑分库分表

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值