一直没想明白,,我知道数据库里有并发控制的机制,但 如果有两个 会话 同时修改 同一个数据,这个时候 数据库会怎么做,它把哪个排前面 哪个排后面。
9条回答 默认 最新
- 频繁跳槽不好 2017-06-13 03:15关注
楼主应该是问就算是有事务,事务和事务的开始也会有冲突的,到底是哪个事务先获得锁。
这个应该是CPU决定的,底层都是调用操作系统的对应命令,操作系统调用CPU的指令,由CPU来决定哪个操作先操作寄存器,一级缓存等等,到什么时候将
缓存中的数据push到内存中去,不同的CPU有不同细节。CPU本身也有锁,锁也是有级别的。这也是CPU升级的原因之一吧,高级的CPU算法实现会优化的,当然也是需要操作系统适配的。
对于删除,mysql的innodb先是逻辑删除的,然后由定时循环主任务或者触发将数据物理内存删除,再push到磁盘上。
对于insert和update,同样先是到内存中,看到底有多少脏页,是可以配置的,符合条件后再统一push到磁盘上。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥100 set_link_state
- ¥15 虚幻5 UE美术毛发渲染
- ¥15 CVRP 图论 物流运输优化
- ¥15 Tableau online 嵌入ppt失败
- ¥100 支付宝网页转账系统不识别账号
- ¥15 基于单片机的靶位控制系统
- ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
- ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
- ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
- ¥15 手机接入宽带网线,如何释放宽带全部速度