【发布时间】:2016-02-09 19:23:17
【问题描述】:
我遇到以下 Redshift 性能问题:
我有一个大约 20 亿行的表,其中有大约 100 个 varchar 列和一个 int8 列 (intCol)。该表相对稀疏,尽管每行都有一些列。
以下查询:
select colA from tableA where intCol = ‘111111’;
返回大约 30 行,运行速度相对较快(约 2 分钟)
但是,查询:
select * from tableA where intCol = ‘111111’;
花费不确定的时间(60 分钟后放弃)。
我知道修剪投影中的列通常会更好,但此应用程序需要整行。
问题:
这只是在 Redshift 中做的一件根本上的坏事吗?
如果不是,为什么这个特定的查询要花这么长时间?它是否与表格的结构有关?是否有一些 Redshift 旋钮可以调整以使其更快?我还没有弄乱桌子上的 distkey 和 sortkey,但不清楚这些在这种情况下是否重要。
【问题讨论】:
-
将所有数据放在一张表中是根本错误的
-
intCol 是否已编入索引?尝试删除撇号。有键列吗?
标签: database-performance amazon-redshift