美文网首页
数据库锁

数据库锁

作者: 宇宙之一粟 | 来源:发表于2020-10-03 23:16 被阅读0次

常见问题

  • MyISAM与InnoDB关于锁方面的区别是什么
  • 数据库事务的四大特性
  • 事务隔离级别以及各级别下的并发访问问题
  • InnoDB可重复读隔离级别下如何避免幻读
  • RC、RR级别下的InnoDB的非阻塞读如何实现

MyISAM与InnoDB关于锁方面的区别是什么

  • MyISAM默认用的是表级锁,不支持行级锁
  • InnoDB默认用的是行级锁,也支持表级锁
select count(*) from person_info_large;
select count(*) from person_info_myisam;

select * from person_info_myisam where id between 1 and 2000000;
update person_info_myisam set account = account where id = 2000001;

上一个表锁,读锁不释放的话,写锁会被阻塞。

lock table person_info_myisam read | write;
unlock tables;

MyISAM适合的场景

  • 频繁执行全表count语句
  • 对数据进行增删改的频率不高,查询非常频繁
  • 没有事务

InnoDB适合的场景

  • 数据增删改差相当频繁
  • 可靠性要求比较高,要求支持事务

数据库锁的分类

  • 锁的粒度划分:可分为表级锁、行级锁、页级锁
  • 锁级别:共享锁、排它锁
  • 加锁方式:自动锁、显式锁
  • 操作划分:DML锁、DDL锁
  • 使用方式:乐观锁、悲观锁

相关文章

  • mysql进阶-行级锁、表级锁、乐观锁、悲观锁

    从应用的角度来看数据库锁可分为悲观锁、乐观锁从数据库(InnoDB)的角度看,数据库锁可以分为行级锁和表级锁 1....

  • 两端锁协议

    1、数据库锁 数据库锁粒度划分:行锁、页锁、表锁。共享锁:读锁、S锁。事务T可以对A进行读取,其他事务只能读取而不...

  • MySQL05

    数据库高级对象,锁,权限管理 视图 索引 触发器 存储过程 悲观锁与乐观锁 行级锁、表级锁、页锁 数据库权限管理 ...

  • 数据库如何加锁?锁是用来干嘛的?

    数据库中的共享锁与排它锁 共享锁(S锁),又称为读锁,如果数据对象加上共享锁之后,则该数据库对象可以被其他事务查看...

  • 秒杀系统技术方案演变过程

    前言:秒杀系统需要保证商品库存不能出现超卖现象。一、数据库锁机制(悲观锁、乐观锁)实现秒杀(1)悲观锁:数据库本身...

  • mysql全局锁和表锁

    MySQL中的锁可以分为三类:全局锁,表级锁和行锁。 全局锁 全局锁是对整个数据库加锁,可以让整个数据库处于只读状...

  • 多线程之锁

    其实常用也就那么几个锁,总感觉线程所用的锁机制和数据库的很相似,什么读写锁,就和数据库的共享锁,排他锁没什么区别....

  • 解决并发问题,数据库常用的两把锁!

    在写入数据库的时候需要有锁,比如同时写入数据库的时候会出现丢数据,那么就需要锁机制。 数据锁分为乐观锁和悲观锁 它...

  • Java面试必备之数据库乐观锁和悲观锁分析!

    在写入数据库的时候需要有锁,比如同时写入数据库的时候会出现丢数据,那么就需要锁机制。 数据锁分为乐观锁和悲观锁 它...

  • DataFountain PHP面试

    数据库锁数据库锁方面这篇文章总结的挺好的 数据库锁总结 线程模型及原理操作系统核心原理-4.线程原理(上):线程基...

网友评论

      本文标题:数据库锁

      本文链接:https://www.haomeiwen.com/subject/yoyguktx.html