[英]INSERT INTO table SELECT Redshift super slow
我們有一張大桌子,我們需要對其進行深度復制。 由於我們沒有足夠的空磁盤空間來在一個語句中創建它,因此我嘗試批量創建它。 但是批次似乎運行得非常非常緩慢。
我正在運行這樣的東西:
INSERT INTO new_table
SELECT * FROM old_table
WHERE creation_date between '2018-01-01' AND '2018-02-01'
即使查詢返回少量行 ~ 1K
SELECT * FROM old_table
WHERE creation_date between '2018-01-01' AND '2018-02-01'
INSERT
查詢大約需要 50 分鍾才能完成。
old_table
有 ~286M 行和 ~400 列
creation_date
是SORTKEY
之一
解釋計划看起來像:
XN Seq Scan on old_table (cost=0.00..4543811.52 rows=178152 width=136883)
Filter: ((creation_date <= '2018-02-01'::date) AND (creation_date >= '2018 01-01'::date))
我的問題是:
INSERT
查詢花費這么長時間的原因可能是什么?在我看來,以下是兩種可能性——不過,如果您能在問題中添加更多細節,那就太好了。
creation_date
排序鍵?old_table
進行了大量更新,如果是這樣,您必須先真空執行VACUUM DELETE Only old_table
然后,執行選擇查詢。其他選項,您可能正在使用 S3 方式,但不確定您是否想要這樣做。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.