問題タブ [trino]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
708 参照

presto - Athena サブクエリと LEFT JOIN データ スキャンの最適化

20 GB の寄木細工のデータ形式のテーブルがあり、単純なクエリでは 1 GB のデータのみをスキャンして結果が得られます。 select columns from table1 where id in (id1, id2, idn)

同じクエリを次のようなサブクエリで実行すると、 select columns from table1 where id in (select id from table2 limit n)このクエリはテーブル全体を 20GB スキャンして結果を返します。n も 10、50、5000 と非常に小さい数です。

LEFT JOIN でも同じことが起こります。

サブクエリの結果を取得して保存し、引数として別のクエリに渡す代わりに、単一のクエリを実行することでこれを達成する方法はありますか? Athena で現在ユーザーがフル テーブル スキャンなしで LEFT JOIN またはサブクエリを実行する方法のベスト プラクティスはありますか?

類似の質問- 質問 -1質問 -2

0 投票する
1 に答える
659 参照

sql - JSON から負の整数を抽出する

json_extractPrestoSQL で関数を使用していますが、次のような値に負の整数を含むキーと値のペアが表示される場合

json_extract(json, '$.foo')NULL を返しますが、

json_extract(json, '$.bar')12345 を返します

json_extract_scalarも同じものを生産します。

Presto で負の整数を抽出するための回避策は何ですか?