如何在AWS Redshift中获取表上应用排序键的列列表
在AWS Redshift中查看指定表的排序键列列表
你可以通过Redshift的系统视图快速获取指定表的排序键(复合/交错类型)列信息,以下是两种常用方法:
方法1:使用SVV_TABLE_INFO视图(直观展示排序键全貌)
这个系统视图会直接列出排序键列和排序类型,适合快速查看整体信息:
SELECT tablename, schema, sortkey1, sortkey2, sortkey3, sortkey4, sortkey5, sortkey6, sortkey7, sortkey8, interleaved_sortkey, sortkey AS sort_type FROM svv_table_info WHERE tablename = 'your_target_table' AND schema = 'your_target_schema';
结果说明:
sortkey1至sortkey8:按顺序列出复合排序键的列(Redshift最多支持8个排序键列),空值代表无更多排序键列interleaved_sortkey:t表示是交错排序键,f表示是复合排序键sort_type:直接显示compound(复合)或interleaved(交错),明确排序键类型
方法2:使用PG_TABLE_DEF视图(按列展示排序键位置)
如果需要逐个查看哪些列属于排序键,以及它们的排序位置,用这个视图更清晰:
SELECT schemaname, tablename, columnname, sortkey FROM pg_table_def WHERE tablename = 'your_target_table' AND schemaname = 'your_target_schema' AND sortkey > 0 ORDER BY sortkey;
结果说明:
sortkey字段:对于复合排序键,值代表该列在排序顺序中的优先级(1为最高);对于交错排序键,所有排序键列的sortkey值相同(通常为1)- 仅返回
sortkey > 0的列,这些就是被设置为排序键的列
内容的提问来源于stack exchange,提问作者Adeel Nazir
相关产品推荐
相关产品推荐

