与表上的锁的事务隔离级别关系
我读过关于4级隔离的信息:
Isolation Level Dirty Read Nonrepeatable Read Phantom Read
READ UNCOMMITTED Permitted Permitted Permitted
READ COMMITTED -- Permitted Permitted
REPEATABLE READ -- -- Permitted
SERIALIZABLE -- -- --
我想了解每个事务隔离对表的锁定
READ UNCOMMITTED - no lock on table
READ COMMITTED - lock on committed data
REPEATABLE READ - lock on block of sql(which is selected by using select query)
SERIALIZABLE - lock on full table(on which Select query is fired)
以下是事务隔离
中可能发生的三种现象 脏读 - 无锁
不可重复读取 - 没有脏读作为已提交数据的
锁定 幻像读取 - sql 块上的锁定(通过使用选择查询选择)
我想了解我们在哪里定义这些隔离级别:仅在jdbc /休眠级别或在DB中
PS:我已经浏览了oracle中隔离级别中的链接,但它们看起来很笨拙,并且谈论特定于数据库