我想了解哪种更快的外部扫描或雪花中的表扫描。我认为这是外部扫描,但想获得确认以及其背后的原因
谢谢
答案 0 :(得分:0)
TableScan操作更快。
ExternalScan操作表示对存储在舞台对象中的数据的访问,而TableScan操作表示对单个表的访问。
此类节点的执行时间取决于几件事,通常是远程磁盘IO,本地磁盘IO和处理。
假设远程磁盘IO均为S3(或相似),则其数据传输速度应相同。
阶段对象不是本地缓存的,所以如果可以缓存,TableScan总是更快,因为本地磁盘IO比远程磁盘IO快得多。
通常,“扫描”节点上的处理可以忽略。
我希望只有在不使用缓存并且舞台对象使用10-50mb分区作为压缩Parquet存储的情况下,性能才会相似,该分区具有良好的键和良好的列编码选择。
由于对分区对象没有那么仔细的关注,我希望TableScan由于分区修剪,字节偏移读取,自动列编码和其他Snowflake自动优化而在执行ExternalScan方面表现出色。