简介 目录 评价 推荐
  • 慕用5314816 2023-08-17

    加锁

    https://img1.mukewang.com/64ddd7d10001e4fd11420630.jpg

    0赞 · 0采集
  • 慕用5314816 2023-08-17

    a

    https://img2.mukewang.com/64ddd1a500018e2011240678.jpg

    0赞 · 0采集
  • 不吃洋葱的小胡子大叔 2023-02-25

    多版本并发控制原理分析 之 隐式字段

            (1) DB_TRX_ID

                a. 占用6byte

                b. 记录了创建这条记录时, 最近一次创建或修改该记录的事务id


            (2) DB_ROLL_PTR

                a. 占用7byte, 回滚指针

                b. 指向这条记录的上一个版本(存储于rollback segment回滚段里)


            (3) DB_ROW_ID

                a. 6byte, 隐含的自增ID(隐藏主键)

                b. 如果数据表没有主键, Innodb会自动以DB_ROW_ID产生一个聚簇索引.


            (4) 创建版本号

                记录了创建事务时的版本号


            (5) 删除版本号

                记录了删除事务时的版本号


            隐式字段填充过程:

                (1) 初始化数据: 

                    DB_TRX_ID : NULL, DB_ROLL_PTR : NULL, DB_ROW_ID : 1

                    此时没有事务, 所以前两个为null, row_id会自增填充.

                    属于历史记录, 存储在undo log里


                (2) 事务1 (假如修改了某字段值):

                    DB_TRX_ID : 1, DB_ROLL_PTR : 指针, DB_ROW_ID : 1

                    开启了事务, 所以回滚指针指向了上一个版本的记录.


                (3) 事务2:

                    第二个事务, DB_TRX_ID会变为最近一次的事务id, 即从1变为2. 指针指向了事务1的版本.

    0赞 · 0采集
  • 不吃洋葱的小胡子大叔 2023-02-24

        1. 事务隔离级别

            (1) read uncommitted (读未提交)  导致: 脏读, 不可重复读, 幻读

            (2) read committed (读已提交)  导致: 不可重复读, 幻读

            (3) repeatable read (重复读)  导致: 幻读(MVCC, next-key-lock解决幻读)

            (4) serialiable (串行化) 



            1.1 脏读: 

                    (1) 当前事务读取到了并行的其他事务修改的数据, 这些数据还没有提交. 

                    (2) 也就是在并行事务的场景下, 不同事务之间对于数据的修改相互可见. 

                    (3) 这样读取到的数据可能就是个脏数据, 因为那个数据可能还没提交或者在回滚, 所以读到的数据不是最终确认的数据.


            1.2 不可重复读: 

                    (1) 在不同事务之间, 并行的事务进行读取数据, 这一行的数据读取到的值有可能在其他并行事务中被修改. 

                    (2) 修改之后的值有可能已经把这个值改变了. 改变之后, 事务进行的提交或者回滚, 再在当前事务里对该数据进行读取, 可能读取到的值会发生变化. 

                    (3) 这样前后两次读取到的值就是不相同了, 这就是不可重复读.


            1.3 幻读:

                    (1) 在同一个事务中前后两次读取到的数据条数不相同. 其他事务可能进行了一个插入操作. 

                    (2) 进行插入的数据, 有可能会影响到当前事务的业务逻辑. 读取到的数据行数不一样. 

                    (3) 读取到的数据像是幻影, 即幻读.

    0赞 · 0采集
  • weixin_慕尼黑7104143 2022-12-07

    哈哈哈哈哈哈哈哈哈哈

    0赞 · 0采集
  • 慕粉15041133842 2022-11-17

    select @@global.tx_isolation;  // 系统隔离级别



    select @@tx_isolation; //会话隔离级别

    0赞 · 0采集
  • qq_伟少_1 2022-05-06

    mysql hide field

    0赞 · 0采集
  • qq_伟少_1 2022-05-06

    mysql log

    0赞 · 0采集
  • 翻滚的鸡蛋停不下来 2022-03-14


    1. 如何查看SQL语句是否走了索引(explain)?上图所示

    2. 联合索引最左原则

    3. 区分度低的字段不适合建索引

    4. 联合索引字段个数不宜太多,充分权衡插入删除操作及DBA操作表成本

    5. 索引组合索引、少用单列索引

    6. where, on, group by, order by 后面跟着字段创建索引

    7. 创建了索引,不代表就走了索引

    0赞 · 0采集
  • 慕粉3872972 2022-02-12

    mysql多版本并发控制原理

    教学目标

    1、摆脱增删改查

    2、mvcc原理是什么

    3、介绍数据库的一些坑


    学习路线及重点

    1、事务隔离级别-种类、查看、设置、选择、关联

    2、通过现象引发思考-并发事务不同隔离级别的效果

    3、多版本并发控制原理

    4、mysql总结

    0赞 · 1采集
  • 挂柯南_ 2021-12-11

    MySQL数据库 多版本并发控制 增删改查程序员

    MVCC原理的一些问题

    数据库的坑

    学习路线与学习重点

    通过现象引发思考 并发事务不同隔离级别的效果

    多版本并发控制原理

    mysql经验总结

    0赞 · 0采集
  • 白菜1031 2021-10-17

    可重复读级别,在首次快照读时生成读视图

    读已提交级别,在每次快照读时生成读视图

    1赞 · 0采集
  • WE_Xing 2021-08-10

    索引

    0赞 · 0采集
  • WE_Xing 2021-08-10

    事务

    0赞 · 1采集
  • WE_Xing 2021-08-10

    MySQL

    0赞 · 0采集
  • WE_Xing 2021-08-10

    多版本并发控制

    0赞 · 1采集
  • WE_Xing 2021-08-10

    数据可见性算法

    0赞 · 0采集
  • WE_Xing 2021-08-01

    读视图

    0赞 · 0采集
  • WE_Xing 2021-08-01

    读视图

    0赞 · 0采集
  • WE_Xing 2021-07-29

    SELECT FOR UPDATE

    0赞 · 0采集
  • WE_Xing 2021-07-20

    隐式字段

    0赞 · 0采集
  • WE_Xing 2021-07-20

    聚簇索引


    0赞 · 0采集
  • WE_Xing 2021-07-16

    串行化

    1赞 · 0采集
  • WE_Xing 2021-06-21

    选择隔离级别

    0赞 · 0采集
  • WE_Xing 2021-06-15

    查看 MySQL 事务隔离级别

    设置 MySQL 事务隔离级别

    0赞 · 0采集
  • WE_Xing 2021-06-12

    MySQL事务隔离级别

    1. 读未提交

    2. 读已提交

    3. 可重复读

    4. 串行化

    0赞 · 0采集
  • WE_Xing 2021-06-12

    章节学习目录

    0赞 · 1采集
  • WE_Xing 2021-06-12

    MySQL

    0赞 · 0采集
数据加载中...
开始学习 免费