
MySQL
文章平均质量分 62
毛毛不怕困难
这个作者很懒,什么都没留下…
展开
-
不可重复读,幻读和脏读
幻读一般在读未提交,读已提交,可重复读出现,原因是第一个事务执行时,第二个事务完成了提交,在第一个事务读取的数据中间插入或删除了一些数据,进而造成的第一个事务第二次读取时数据中间多了或者少了一部分数据。而脏读只能在读未提交的隔离级别下发生,事务1修改了一些数据,但是在他提交之前,另外一个事务读取了事务1修改的数据,但是事务1产生了回滚,那么就发生了脏读。不可重复读一般在读未提交,读已提交这两种隔离级别出现,第一次读和第二次读的数据不一致。mysql的四种隔离级别。原创 2024-04-27 15:59:27 · 258 阅读 · 0 评论 -
undo log和redo log区分
Redo Log(重做日志)和 Undo Log(撤销日志)是数据库系统中用于确保数据完整性和事务一致性的两种不同类型的日志。它们在处理事务、尤其是事务回滚和系统恢复时起着关键作用。原创 2024-04-27 15:31:11 · 810 阅读 · 0 评论 -
提升MySQL访问性能
缓解了MySQL的读压力。主从复制原理图如下如果对于读操作有一致性要求,那么读操作去主数据库即可。原创 2024-02-10 15:58:35 · 408 阅读 · 0 评论 -
MySQL事务原理的分析
脏读:脏读只会在read uncommitted隔离级别下发生。在这个隔离级别下,一个事务可以读取到另一个未提交的事务所修改的数据,因此可能会读取到无效的数据。不可重复读:不可重复读可能在read committed、repeatable read和serializable隔离级别下发生。原创 2024-02-03 19:48:14 · 729 阅读 · 0 评论 -
MySQL索引的原理和SQL优化策略
在InnoDB存储引擎中,索引分为聚簇索引和辅助索引两种类型。聚簇索引是指基于表的主键构建的索引,它决定了表中数据的物理存储顺序。也就是说,聚簇索引中的键值按照主键的顺序来排序,并且每个叶子节点存储的是整个表行的数据。因此,通过聚簇索引可以快速地定位到特定主键的行数据,而且相邻的行数据在物理上也是相邻存储的。如果表没有主键,则InnoDB会选择一个唯一的非空索引作为聚簇索引,如果没有这样的索引,则会隐式地创建一个隐藏的主键。原创 2024-02-01 22:24:57 · 988 阅读 · 0 评论