美文网首页
事务---学习记录

事务---学习记录

作者: Superhi | 来源:发表于2020-10-08 18:53 被阅读0次

    事务的四个特点(ACID)
    1,原子性,一个不可分割的操作。要么做要么就不做。
    2,,隔离性 ,不同的记录
    3,一致性, 数据的一致性正确性。操作之后的值最后要正确且一致。
    4,持久性,记录永久保存。

    开启事务--begin,,更改 ---commit
    如果不commit 别的client 是查不到的。。。。
    隐式提交(DDL)

    1,读未提交(不多,违背特性) 有可能读脏数据。
    2,读已经提交(解决上边问题,提交后才能读)(幻读(会查到新插入的数据),不可重复读)
    3,可重复读(解决上边的问题)(Mysql默认)(解决幻读(可重读)) 复用原来的readview (插入会加锁)
    4,串行化

    实现:版本链(事务的id)。

    Readview(m_ids(事务活跃))

    多版本并发控制 MVCC,,,,,加锁,等待提交后,释放锁才能读到。

    锁:读锁和写锁,(sql中的一条数据 ,就是资源。) 起作用的是有冲突的锁
    读锁:可读,共享锁,,其他可以加读锁但不可加写锁。
    写锁: 别人不能动。对select 不起作用。
    delete x
    insert 隐式
    update x

    float double 浮点数存储,,decimal 存储是字符型,但是设置精度后,会四舍五入。SQL server 精度会更高

    一个表里面的重复率超过40% 全表扫描比较好。
    主键索引比普通的要快,因为要回表。

    相关文章

      网友评论

          本文标题:事务---学习记录

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