
数据库
文章平均质量分 93
你的boy_Z
timianer
展开
-
MySQL学习四之锁
MySQL学习四之锁一、为什么需要锁锁机制用于对共享资源的并发访问。当多个用户并发地存取数据时,在数据库中就可能会产生多个事务同时操作同一行数据的情况,若对并发操作不加控制就可能会读取和存储不正确的数据,破坏数据的一致性。一种典型的并发问题——丢失更新(其他锁问题及解决方法会在后面说到):执行顺序事务A事务B1开启事务A2开始事务B3查询当前商品S库存为1004查询当前库存为1005业务逻辑处理,增加库存106业务处理增加原创 2021-10-14 10:56:16 · 213 阅读 · 1 评论 -
mySql学习(三)之Innodb事务学习
Innodb事务学习1 事务的实现事务的隔离性是由锁来实现的。原子性、一致性、持久性是通过数据库的redo log和undo log来实现的。redo log称为重做日志,用来保证事务的持久性。undo log用来保证事务的一致性。这里不要认为undo log 是redo log的逆过程,这种理解是不对的。 redo 中记录的是恢复提交事务修改的页的操作,也就说page no ,offset 修改成了啥,而undo回滚行记录到某个特定版本。因此两者记录的内容不同, redo通常是物理日志, 记录的是原创 2021-10-08 17:23:39 · 229 阅读 · 0 评论 -
mysql学习之InnoDB(二)
mysql学习之InnoDB(二)写在前面本篇博客主要记录一下innoDB存储引擎中比较常见和重要得文件学习。这些文件主要是分为以下几类:参数文件:告诉MySQL实例启动时在哪里可以找到数据库文件,并 且指定某些初始化参数,这些参数定义了某种内存结构的大小等设置, 还会介绍各种参数的类型。日志文件:用来记录MySQL实例对某种条件做出响应时写入的文 件,如错误日志文件、二进制日志文件、慢查询日志文件、查询日志文 件等。socket文件:当用UNIX域套接字方式进行连接时需要的文件。原创 2021-04-20 17:13:57 · 788 阅读 · 0 评论 -
mysql学习之InnoDB
mysql学习之InnoDB(一)写在前面InnoDB通过使用多版本并发控制(MVCC)来获得高并发性,并且实现 了SQL标准的4种隔离级别,默认为REPEATABLE级别。同时,使用一 种被称为next-key locking的策略来避免幻读(phantom)现象的产生。 除此之外,InnoDB储存引擎还提供了插入缓冲(insert buffer)、二次写 (double write)、自适应哈希索引(adaptive hash index)、**预读(read ahead)**等高性能和高可用的功能原创 2021-04-12 11:04:34 · 355 阅读 · 0 评论