У меня есть таблица, которую я удаляю и создаю индекс каждый день, и у меня есть другая работа, которая запрашивает эту таблицу с блокировкой ACCESS
.
Иногда эти задания выполняются одновременно, и тогда я получаю следующую ошибку:
2641 %DBID.%TVMID was restructured. Resubmit.
Я прочитал в документации следующее:
Explanation:
A table was changed before a statement that references the table was processed.
(For example, an index may have been added or a field removed.)
Notes:
The statement may not have the intended result because of the change in the table.
Remedy:
Examine the table and resubmit the request.
https://docs.teradata.com/reader/8MhLDQBmL52OycrEKPuGqg/Ju5pqm9uRFO6VziQdcmA6w
Я полагаю, это потому, что предложение CREATE INDEX
запрашивает блокировку EXCLUSIVE
, а предложение SELECT
ставится в очередь при создании индекса, но когда SELECT
извлекается из очереди, таблица имеет другую версию номер, и он терпит неудачу.
Может быть, я совершенно не прав, но,
Есть ли способ избежать такого поведения?
Что-то на пути к переоценке предложения SELECT
, когда оно получает шанс быть исполненным.
Спасибо!