10. 锁的粒度

181 未经授权,禁止转载了解课程
课程介绍
讨论{{interaction.discussNum ? '(' + interaction.discussNum + ')' : ''}}
适合人群
计算机和数据库运维人员,及计算机专业的学生与爱好者
你将会学到
掌握 MySQL 事务和锁
课程简介

------------------------------

更多相关课程免费试听,请点击下方链接可直达:

专题【<2.>】

https://edu.51cto.com/topic/4205.html

-----------------------------------


Re: MySQL 事务和锁 

==========================================

# 事务是什么

                                      特性:原子性、一致性、隔离性和持久性

                                      类型:自动提交事务(default)、隐式事务、显式事务和分布式事务

        事务并发带来的若干问题:脏读、不可重复读、幻象读和丢失更新

                         事务隔离级别:避免上述问题


# 锁是什么

        锁的粒度:三种粒度锁的特性(逐步提高等级)

         表级锁  :限制其它用户修改

         行级锁  :多版本的并发控制

          死锁    :产生条件和 MySQL 自动处理机制


# 事物和锁的实际应用



ACID_1.png

ACID_2.png


ACID_3.png

ACID_4.png



    01. 本章课程介绍 事物概念 事物特性 ACID

    02. 事务类型 自动提交事务_默认 隐式事务_启动事务提交机制

    03. 事务类型 显式事务 START_TRANSACTION 分布式事务_不同服务器间才能演示

    04. 事物并发带来问题 脏读 不可重复读 幻象读 丢失更新_回滚_覆盖

    05. 事务隔离级别 Read Uncommitted(读取未提交内容)-1

    06. 事务隔离级别 读取提交内容 Read Committed -2

    07. 事务隔离级别 可重读 Repeatable Read -3

    08. 事务隔离级别 可串行化 Serializable -4

    09. 设置当前会话或全局事务隔离级别 临时或永久设置

    10. 锁的粒度

    11. 添加表级“读锁”,限制其它用户修改

    12. 只锁定当前或现有的记录 则其它用户可以支持添加记录

    13. 验证参数1:有空洞不允许插入到表尾(AUTO)

    14. 验证参数0:不允许并发操作(NEVER)

    15. 验证参数2:始终允许插入到表尾,与空洞无关(ALWAYS)

    16. MyISAM 添加表级,写锁(独占锁)

    17. InnoDB 存储引擎 并发控制协议 快照读 当前读

    18. InnoDB “行”级锁 没有主键表级锁 创建主键“行”级锁

    19. 死锁的产生和 MySQL 自动处理方式

    20. 在存储过程中使用事务 有错误则回滚 ROLLBACK

    21. 使用自定义条件决定事务提交还是回滚(模拟银行转账过程)


展开更多
发布
头像

{{ item.user.nick_name }} {{ EROLE_NAME[item.user.identity] }}

置顶笔记
讨论图
{{ item.create_time }}回复
  • 删除

    是否确认删除?

    确认
    取消
  • {{ item.is_top == 1 ? '取消置顶' : '置顶'}}

    已有置顶的讨论,是否替换已有的置顶?

    确认
    取消
{{ tag.text}}
头像
{{ subitem.user.nick_name }}{{ EROLE_NAME[subitem.user.identity] }}
{{ subitem.create_time }}回复
删除

是否确认删除?

确认
取消
发布
{{pageType === 'video' ? '讨论区抢占沙发,可获得双倍学分' :'讨论区空空如也,你来讲两句~'}}
发布
{{tips.text}}
{{ noteHeaderTitle }} 笔记{{ hasMyNote ? '我的笔记' : '记笔记' }}
{{ hasMyNote ? '我的笔记' : '记笔记' }}
优质笔记
更新于:{{ $dayjs.formate('YYYY-MM-DD HH:mm:ss', item.last_uptime*1000) }}
头像
{{ detail.username }}

公开笔记对他人可见,有机会被管理员评为“优质笔记”

{{ noteEditor.content.length }}/2000

公开笔记
保存
提问

讲师收到你的提问会尽快为你解答。若选择公开提问,可以获得更多学员的帮助。

记录时间点
记录提问时视频播放的时间点,便于后续查看
公开提问
提交