zuckermanori Asked: 2017-01-03 08:18:37 +0800 CST2017-01-03 08:18:37 +0800 CST 2017-01-03 08:18:37 +0800 CST Teradata:选择没有锁定的表 772 据我了解,从 Teradata 中的表中选择时,默认情况下该表是锁定的。我想做一个简单的select * from table不锁定表。意思是,我想做一个选择并允许其他用户从同一个表中选择,而不必等待我的选择结束。 我知道我可以使用LOCKING修饰符降级选择锁,如下所示: locking table my_table for access select * from my_table 但这将允许我的操作不等待锁定。据我了解,它仍然会锁定表,因此其他操作将不得不等待锁定。 locking teradata 1 个回答 Voted Best Answer dnoeth 2017-01-03T09:14:20+08:002017-01-03T09:14:20+08:00 如果那些其他用户只需要从该表中选择,则您和其他会话都不必添加LOCKING修饰符。 默认情况下,一个 Select 应用一个READ锁,它不会阻止其他 Select,只有 INSERT/UPDATD/DELETE 和 DDL 被阻止。 如果您希望其他会话能够修改您应该使用LOCK ROW ACCESS允许脏读的行,即第二个会话可能会在您阅读时修改数据。 Teradata 支持四种标准 SQL 事务隔离级别中的两种,即最少和最严格的: Read Uncommited -> ACCESS LOCK Read Commited Repeatable Read Serializable -> READ LOCK Teradata 15.10 实现了一个名为Load Isolation的新功能,它添加了一种Read Commited。
如果那些其他用户只需要从该表中选择,则您和其他会话都不必添加
LOCKING
修饰符。默认情况下,一个 Select 应用一个
READ
锁,它不会阻止其他 Select,只有 INSERT/UPDATD/DELETE 和 DDL 被阻止。如果您希望其他会话能够修改您应该使用
LOCK ROW ACCESS
允许脏读的行,即第二个会话可能会在您阅读时修改数据。Teradata 支持四种标准 SQL 事务隔离级别中的两种,即最少和最严格的:
Teradata 15.10 实现了一个名为Load Isolation的新功能,它添加了一种Read Commited。