Amazon redshift 红移扫描/返回的行数超过limit子句所需的行数
Redshift控制台显示Redshift正在扫描/返回的行数超过了limit子句所需的行数(注意:我的SQL客户端正在接收预期的行数)。此外,红移正在估计全序列扫描。我假设这种过度扫描/返回会减慢对SQL客户机的响应。为什么红移会这样做,我如何防止它以增加查询响应 这里,IAmazon redshift 红移扫描/返回的行数超过limit子句所需的行数,amazon-redshift,Amazon Redshift,Redshift控制台显示Redshift正在扫描/返回的行数超过了limit子句所需的行数(注意:我的SQL客户端正在接收预期的行数)。此外,红移正在估计全序列扫描。我假设这种过度扫描/返回会减慢对SQL客户机的响应。为什么红移会这样做,我如何防止它以增加查询响应 这里,Ilimit 1但扫描/返回80行: 这里,I限制1000000但扫描/返回40000040行: 在这里,我选择top 1000*,但扫描/返回40040行: 这些查询是针对20节点群集运行的。当您使用limit it时
limit 1
但扫描/返回80行:
这里,I限制1000000
但扫描/返回40000040行:
在这里,我选择top 1000*
,但扫描/返回40040行:
这些查询是针对20节点群集运行的。当您使用limit it时,这是红移功能,首先扫描所有数据,然后对其进行限制 要解决您的问题,请使用top* 示例如下: 查询从tablename limit 123456中选择*可写为从tablename中选择top 123456*强>
请让我知道在Redshift中需要更多帮助。我建议在这里使用特定列,而不是
*
谢谢@RedBoy,但我需要每个列。截图来自哪里?是红移控制台还是SQL客户端?如果您说限制1
,是否会发生这种情况?请发布您的完整信息sql@JonScott:从限制2500000中选择*代码>(我正在进行基准测试)我还尝试了从中选择top 2500000*代码>与以前相同:它返回了许多倍于我所需的行数到leader节点TOP
和LIMIT
在功能上是等效的,因此使用哪一个并不重要-结果将是相同的。