На момент написания этой статьи (сразу после переизобретения 2018 года) в Redshift имеется функция автоматического распространения, которая является хорошим началом.
Следующие утилиты пригодятся:
https://github.com/awslabs/amazon-redshift-utils/tree/master/src/AdminScripts
Как указано в Ответах POSTED ранее, попробуйте несколько комбинаций, реплицируя одну и ту же таблицу с разными ключами DIST, если вам не нравится, что делает Automatic DIST.После создания таблиц запустите утилиту администратора из репозитория git (предпочтительно создайте представление для сценария SQL в базе данных Redshift).
Кроме того, если у вас есть четкое представление о порядке использования запросов, вы можете использоватьследующие запросы, чтобы проверить, насколько хорошо работает ключ сортировки с использованием приведенных ниже SQL.
/**Queries on tables that are not utilizing SORT KEYs**/
SELECT t.database, t.table_id,t.schema, t.schema || '.' || t.table AS "table", t.size, nvl(s.num_qs,0) num_qs
FROM svv_table_info t
LEFT JOIN (
SELECT tbl, COUNT(distinct query) num_qs
FROM stl_scan s
WHERE s.userid > 1
AND s.perm_table_name NOT IN ('Internal Worktable','S3')
GROUP BY tbl) s ON s.tbl = t.table_id
WHERE t.sortkey1 IS NULL
ORDER BY 5 desc;
/**INTERLEAVED SORT KEY**/
--check skew
select tbl as tbl_id, stv_tbl_perm.name as table_name,
col, interleaved_skew, last_reindex
from svv_interleaved_columns, stv_tbl_perm
where svv_interleaved_columns.tbl = stv_tbl_perm.id
and interleaved_skew is not null;
конечно, всегда есть возможности для улучшения приведенных выше SQL, в зависимости от конкретной статистики, которую вы можете посмотретьили уточните до.
Надеюсь, это поможет.