背景
目前团队是学习型的团队,除了完成日常业务工作需求外,还需要考虑做一些相应的输出。与团队共同成长,同时也是驱动自己学习总结的一种很好的方式。
分享内容
什么是数据库事务?
数据库的锁?
不同的数据库隔离级别的加锁方式?
如何避免锁等待死锁?
什么是数据库事务
MySQL常用的存储引擎有InnoDB(支持事务)和MyISAM(不支持事务)。
数据库的四大特性
原子性
表示一个最小的逻辑单元,要么都执行 要么都不执行
一致性
事物处理前与处理后的状态的要是一致的(a账户有200元 b账户有300元 共计500元 a账户给b账户转账100元。事物处理后2个账户总额也为500元)
隔离性
每个事物都有自己的数据空间,使事物的处理结果不会被别的事物所影响,注:这里的隔离是指的自己受其他事物影响,而不是本身隔离别人(我把门关了别人就进不来)
持久性
事物提交 数据就永久的保存下来了
事务的隔离级别
Read uncommitted(读未提交)
缺点
会导致脏读 幻读 不可 重复读