1数据库锁
悲观锁:从数据开始更改时就将数据锁住,知道更改完成才释放,悲观锁一般就是我们通常说的数据库锁机制
乐观锁:直到修改完成准备提交所做的的修改到数据库的时候才会将数据锁住完成更改后释放。
2分区分表
1,什么是 mysql 分表和分区
分表:从表面意思上看呢,就是把一张表分成 N 多个小表 。
分区:分区就是把一张表的数据分成 N 多个区块,这些区块可以在同一个磁盘上,也可以在不同的磁盘上。
2、mysql 分表和分区有什么区别呢
1实现方式上
2数据处理上
3提高性能上
3.mysql 分表的三种方法
1做 mysql 集群,虽然它不是实际意义上的分表,但是它起到了分表的作用。
2预先估计会出现大数据量并且访问频繁的表,将其分为若干个表
3利用 merge 存储引擎来实现分表
4. 分区类型
range 分区:基于一个给定的连续区间范围(区间要求连续并且不能重叠),把数据分配到不同的分区
list 分区:类似于 range 分区,区别在于 list 分区是居于枚举出的值列表分区,range是基于给定的连续区间范围分区
hash 分区:基于给定的分区个数,把数据分配到不同的分区
key 分区:类似于 hash 分区
3 应该使用哪一种方式来实施数据库分库分表,这要看数据库中数据量的瓶颈所在,并综合项目的业务类型进行考虑。
1,如果数据库是因为表太多而造成海量数据,并且项目的各项业务逻辑划分清晰、低耦合,那么规则简单明了、容易实施的垂直切分必是首选。