mysql
王家五哥
这个作者很懒,什么都没留下…
展开
-
MySQL 事务
假设事务A对某些行的内容作了更改,但是还未提交,此时事务B插入了与事务A更改前的记录相同的记录行,并且在事务A提交之前先提交了,而这时,在事务A中查询,会发现好像刚刚的更改对于某些数据未起作用,但其实是事务B刚插入进来的,让用户感觉很魔幻,感觉出现了幻觉,这就叫幻读。对比可重复读,不可重复读指的是在同一事务内,不同的时刻读到的同一批数据可能是不一样的,可能会受到其他事务的影响,比如其他事务改了这批数据并提交了。可重复读指的是在一个事务内,最开始读到的数据和事务结束前的任意时刻读到的同一批数据都是一致的。..原创 2022-07-16 21:15:58 · 80 阅读 · 0 评论 -
B树 B+树
正因为叶子节点保存了完整的数据以及有指针作为连接,B+树可以增加了区间访问性,提高了范围查询,而B树的范围查询相对较差。它跟普通的平衡二叉树的不同是,B树的每个节点可以存储多个数据,而且每个节点不止有两个子节点,最多可以有上千个子节点。B树中每个节点都存放着索引和数据,数据遍布整个树结构,搜索可能在非叶子节点结束,最好的情况是O(1)。叶子节点保存了完整的索引和数据,而非叶子节点只保存索引值,因此它的查询时间固定为log(n).B树每个节点都存储了一定的范围区间,区间更多的情况下,搜索也就更快。...原创 2022-07-16 21:05:10 · 478 阅读 · 0 评论 -
mysql数据库引擎分析
如果需要对事务的完整性要求比较高(比如银行),要求实现并发控制(比如售票),那选择InnoDB有很大的优势。MyISAM拥有较高的插入、查询速度,但不支持事务,不支持外键。InnoDB是事务型数据库的首选引擎,支持事务安全表(ACID),其它存储引擎都是非事务安全表,支持行锁定和外键,MySQL5.5以后默认使用InnoDB存储引擎。如果需要频繁的更新、删除操作的数据库,也可以选择InnoDB,因为支持事务的提交(commit)和回滚(rollback)。它对表的大小有要求,不能建立太大的表。......原创 2022-07-16 20:56:02 · 288 阅读 · 0 评论