mysql分库分表风险,MySQL - 分库分表

一、概述

1、影响 MySQL 查询性能的因素

(1)cpu

(2)字段数量(尽量控制在)

(3)某一列数据本身大小

(4)数据量

(5)索引建立,回表

2、MySQL 性能优化演变过程

(1)单表单库

(2)读写分离

(3)表分区

(4)垂直分表

(5)水平分表

(6)分库

3、垂直切分的方案

一般采用冷热数据一刀切的方式,比如一张表,商品ID、商品名、商品货号比较常用,而商品内容不是很常用,就把商品内容这一列数据给切出来,独立为一张表,用商品ID进行关联

在项目之处,最好就要考虑到垂直切分,如果在项目完成或进行阶段再进行垂直切分,就需要修改代码了,比较麻烦

4、水平切分的方案

可能会根据时间、用户ID取模等规则进行水平切分。水平切分之后,必定会对一些查询非常不友好。这一点需要注意。

建议:单表数据量达到五百万,单表容量达到5G之后,再进行水平切分。

# 实现示例:

Createtable order_201901asselect*fromorderwhereyear=2019andmonth=1;

5、表分区(分片)

二、问题及解决

1、带来的问题

分表之后,原来很简单的查询操作比如:join、分页、orderby、groupby 等操作,实现上都将变得非常麻烦。

2、如何解决

市场上有很多mysql的中间件,其中使用最广泛,社区最活跃的中间件之一就是mycat。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值