0
これは本当に奇妙です。Teradataは、アクセス権を持つテーブルを介してテーブルにアクセスしているときに読み取るテーブルをロックします。
私は2ビュー、アクセス権を持つ1と表に対する読み取り権限を持つ他のを持っています。
replace view v1_read as locking row for read
select id1 from t1;
replace view v2_access as locking row for access
select id2 from t2;
は、その後、私は、このような選択クエリを実行し、実行計画を見て:読み取りのための
select id1, id2
from v2_access left join v1_read on v2_access.id2=v1_read.id1;
Teradataのブロックテーブルt2を、それがアクセスをブロックする必要があります。それはバグですか?
私はそれが手動でアクセスするためにこの方法をブロック開始するためのTeradataを言うことができます。
lock table t2 for access -- before the query
は、しかし、そのような解決策に問題があります - 管理者は、このような補助金を与えるものではありません。
TDリリース:15.10.03.07
TDバージョン:15.10.03.09
私はそれをどのように修正することができますか?あなたは何も指定せずに参加して、このような選択クエリを記述する場合
それをブロックし、手動で、
explain
@dnoeth更新質問情報 – Rocketq
うーん、私は、これは行動を文書化されている場合、私は 'ロック行read'(それはとにかくデフォルトです)を使用してビューを作成することはないのか分かりません。 Teradataのサポートに連絡するには、DBAに相談してください。 – dnoeth