TERADATA解决锁表的方法

TERADATA的锁表问题一直很头疼,经常早上过来发现任务都没跑,检查发现中间某张表在凌晨生成的时候被某人的查询SQL给锁了,导致后续任务都没有跑,于是查找TD那一堆英文文档,发现一个变相的解决办法,通过建立视图:

create view etl.Etl_Monitor_View

as locking table etl.Etl_Monitor for access

select * from etl.Etl_Monitor

当然有利也有弊,以前正在insert表的时候如果有任务查询这张表,会锁表,通过监控来发现问题,使用这个视图以后就不再锁表了,而是select出来0条记录,导致结果异常。

 

以下SQL这样会锁表:

-------------------------------------------------------------------------------

>Inset into TABLE_1 select * from TABLE_2

>Select * form TABLE_1

-------------------------------------------------------------------------------

 

以下SQL这样不会锁表:

---------------------------------------------------------------------------------

>locking table TABLE_1 for access

  Inset into TABLE_1

>Select * form TABLE_1

---------------------------------------------------------------------------------

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值