У меня был оператор создания таблицы, который занимал много времени, дважды отменял его и перезапускал, думая, что это была какая-то странная ошибка в матрице, но после этого ничего не получалось. Заявление было примерно таким:
CREATE TABLE events (
evId varchar(100) primary key,
tmtsp timestamp sortkey,
sessId varchar(100) not null distkey,
fId varchar(200) not null REFERENCES sources(fId),
timezoneOffset integer
...
)
Виновным был внешний ключ ... удаление его сделало утверждение мгновенным. Таблица sources
, которая имеет около 25 тыс. Строк, имеет fId
в качестве первичного ключа, но не как distkey - я предполагаю, что это может быть проблемой, но, поскольку я прочитал, что Redshift игнорирует ограничения и использует их только в процесс оптимизации запросов, который я не ожидал, возможно, (?) будет проходить через таблицу источников перед созданием таблицы.
В любом случае, distkey следует изменить на fId
в таблице источников.
Тем не менее, не совсем уверен, что здесь происходит - кто-нибудь может пролить свет на то, почему это происходит? Ie, что делал красное смещение при создании таблицы?