作业帮 > 综合 > 作业

请问oracle的commit等于锁表么?如果不一样,那如何锁表呢?另外,好像在sql server中insert语句后

来源:学生作业帮 编辑:灵鹊做题网作业帮 分类:综合作业 时间:2024/06/16 04:59:11
请问oracle的commit等于锁表么?如果不一样,那如何锁表呢?另外,好像在sql server中insert语句后,就没有commit,这个和DB有关么?
这个锁表还不是很明白,是说insert之后,commit之前,是锁表的状态?
请问oracle的commit等于锁表么?如果不一样,那如何锁表呢?另外,好像在sql server中insert语句后
oracle的commit就是提交数据(这里是释放锁不是锁表),在未提交前你前面的操作更新的都是内存,没有更新到物理文件中.
执行commit从用户角度讲就是更新到物理文件了,事实上commit时还没有写date file,而是记录了redo log file,要从内存写到data物理文件,需要触发检查点,由DBWR这个后台进程来写,这里内容有点多的,如果不深究的话你就理解成commit即为从内存更新到物理文件.
锁有很多种,一般我们关注的都是DML操作产生的,比如insert,delete,update,select...for update都会同时触发表级锁和行级锁
补充:对的,insert以后commit之前是锁表的状态,其他事务无法对该表进行操作.