07-23 12:37
2021-07-23 13:17
Mycat和MySQL的区别:可以把上层看作是对下层的抽象,例如操作系统是对各类计算机硬件的抽象。那么我们什么时候需要抽象?假如只有一种硬件的时候,我们需要开发一个操作系统吗?再比如一个项目只需要一个人完成的时候不需要leader,但是当需要几十人完成时,就应该有一个管理者,发挥沟通协调等作用,而这个管理者对于他的...[ 查看全部 ]
06-21 13:59
2021-06-21 14:00
因为我们主键默认都是自增的,那么分表之后的主键在不同表就肯定会有冲突了。有几个办法考虑:设定步长,比如1-1024张表我们分别设定1-1024的基础步长,这样主键落到不同的表就不会冲突了。分布式ID,自己实现一套分布式ID生成算法或者使用开源的比如雪花算法这种分表后不使用主键作为查询依据,而是每张表单独新增一个字段...[ 查看全部 ]
06-21 13:57
2021-06-21 13:58
原子性指的是一个事务中的操作要么全部成功,要么全部失败。一致性指的是数据库总是从一个一致性的状态转换到另外一个一致性的状态。比如A转账给B100块钱,假设中间sql执行过程中系统崩溃A也不会损失100块,因为事务没有提交,修改也就不会保存到数据库。隔离性指的是一个事务的修改在最终提交前,对其他事务是不可见的。持久性...[ 查看全部 ]
06-21 13:56
2021-06-21 13:59
myisam引擎是5.1版本之前的默认引擎,支持全文检索、压缩、空间函数等,但是不支持事务和行级锁,所以一般用于有大量查询少量插入的场景来使用,而且myisam不支持外键,并且索引和数据是分开存储的。innodb是基于聚簇索引建立的,和myisam相反它支持事务、外键,并且通过MVCC来支持高并发,索引和数据存储在...[ 查看全部 ]
06-19 13:46
2021-06-19 13:47
MVCC是一种多版本并发控制机制,是MySQL的InnoDB存储引擎实现隔离级别的一种具体方式,用于实现提交读和可重复读这两种隔离级别。MVCC是通过保存数据在某个时间点的快照来实现该机制,其在每行记录后面保存两个隐藏的列,分别保存这个行的创建版本号和删除版本号,然后Innodb的MVCC使用到的快照存储在Undo...[ 查看全部 ]
06-19 13:45
2021-06-19 13:48
读未提交(RU):一个事务还没提交时,它做的变更就能被别的事务看到读提交(RC):一个事务提交之后,它做的变更才会被其他事务看到.可重复读(RR):一个事务执行过程中看到的数据,总是跟这个事务在启动时看到的数据是一致的。当然在可重复读隔离级别下,未提交变更对其他事务也是不可见的。串行化(S):对于同一行记录,读写都...[ 查看全部 ]