likeopencode 2017-06-09 06:06 采纳率: 33.3%
浏览 742
已采纳

比较简单的问题 关于数据库

一直没想明白,,我知道数据库里有并发控制的机制,但 如果有两个 会话 同时修改 同一个数据,这个时候 数据库会怎么做,它把哪个排前面 哪个排后面。

  • 写回答

9条回答 默认 最新

  • 频繁跳槽不好 2017-06-13 03:15
    关注

    楼主应该是问就算是有事务,事务和事务的开始也会有冲突的,到底是哪个事务先获得锁。
    这个应该是CPU决定的,底层都是调用操作系统的对应命令,操作系统调用CPU的指令,由CPU来决定哪个操作先操作寄存器,一级缓存等等,到什么时候将
    缓存中的数据push到内存中去,不同的CPU有不同细节。CPU本身也有锁,锁也是有级别的。这也是CPU升级的原因之一吧,高级的CPU算法实现会优化的,当然也是需要操作系统适配的。
    对于删除,mysql的innodb先是逻辑删除的,然后由定时循环主任务或者触发将数据物理内存删除,再push到磁盘上。
    对于insert和update,同样先是到内存中,看到底有多少脏页,是可以配置的,符合条件后再统一push到磁盘上。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(8条)

报告相同问题?

悬赏问题

  • ¥15 ogg dd trandata 报错
  • ¥15 高缺失率数据如何选择填充方式
  • ¥50 potsgresql15备份问题
  • ¥15 Mac系统vs code使用phpstudy如何配置debug来调试php
  • ¥15 目前主流的音乐软件,像网易云音乐,QQ音乐他们的前端和后台部分是用的什么技术实现的?求解!
  • ¥60 pb数据库修改与连接
  • ¥15 spss统计中二分类变量和有序变量的相关性分析可以用kendall相关分析吗?
  • ¥15 拟通过pc下指令到安卓系统,如果追求响应速度,尽可能无延迟,是不是用安卓模拟器会优于实体的安卓手机?如果是,可以快多少毫秒?
  • ¥20 神经网络Sequential name=sequential, built=False
  • ¥16 Qphython 用xlrd读取excel报错