Redshift控制台显示Redshift正在扫描/返回的行数超过limit子句所需的数量(注意:我的SQL客户端正在接收预期的行数)。另外,Redshift正在估计完整的序列扫描。我假设这种过多的扫描/返回操作会减慢对SQL客户端的响应。为什么redshift会这样做,如何防止这种情况以增加查询响应?
在这里,我limit 1000000
但扫描/返回了40000040行:
在这里,我select top 1000 *
但扫描/返回了40040行:
这些查询针对20个节点的群集运行。
答案 0 :(得分:0)
这是Redshift功能,当您使用限制时,它首先扫描所有数据,然后将其限制。
要解决您的问题,请使用顶部*
以下示例:
查询从表名限制123456中选择*; 可以写为从表名中选择顶部123456 *;
让我知道Redshift需要更多帮助。