我最近在用redshift时,创建一张表,指定了sortkey和distkey,但我很疑惑的是,我在坐sql查询的时候,怎么样才可以判定使用到了sortkey恩?有没有高手可以指点一下

解决方案 »

  1.   

    你可以通过query plan来判断sorting key是否被用到,在你的query前面加一个explain就可以得到redshift根据metadata生成的query plan。 Redshift有两种sorting方法,Compound Sort Key和Interleaved Sort Key,首先你要根据你的query pattern来选择一种对应的sorting,具体参照这里 http://docs.aws.amazon.com/redshift/latest/dg/t_Sorting_data.html。得到query plan之后,你可以根据   http://docs.aws.amazon.com/redshift/latest/dg/c-the-query-plan.html 来判断,你的table layout是否是最有的,当然你可以尝试多种layout,然后对比performance,有时候query plan给出的最优设计在情况并不是最优的解决方案。