В попытке обработать пользовательские поля для определенных объектов в многопользовательском DW я создал сверхширокую денормализованную таблицу размеров (сотни столбцов, жестко закодированный предел столбца), что Redshift не очень нравится;) ,Redshift and ultra wide tables
user1 | attr1 | attr2 ... attr500
Даже невинный запрос на обновление одного столбца на кучки записей занимает около 20 секунд. (Что удивительно, поскольку я бы предположил, что это не должно быть такой проблемой для столбчатой базы данных.)
Любой указатель, как изменить дизайн для лучшей отчетности из нормализованной исходной таблицы (один пользователь имеет несколько разных атрибутов, один атрибут одна строка) для денормализации (одна строка для каждого пользователя с общими столбцами, различная для каждого из арендаторов)?
Или кто-либо попытался выполнить перенос (поворот) нормализованных записей в денормализованный вид (таблицу) в Redshift? Меня беспокоит производительность.
Не могли бы вы прояснить - вы говорите, что производительность SELECT плохая или только производительность UPDATE? (Redshift оптимизирован для запросов, а не для обновления.) Сколько строк в таблице и сколько строк обновляется? Вы используете SORTKEY и DISTKEY на столе? Можете ли вы представить образец своих запросов, чтобы продемонстрировать свою ситуацию? Спасибо. –
Таблица небольшая (таблица сцен), скажем, десятки/сотни записей, но сотни столбцов. Запрос будет выглядеть примерно так: _update stage set validFrom = sysdate, validTo = 2999-01-01_. Планировщик говорит мне, что делает «Sequential Scan». – Dolfa