問題タブ [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.
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 またはサブクエリを実行する方法のベスト プラクティスはありますか?
sql - JSON から負の整数を抽出する
json_extract
PrestoSQL で関数を使用していますが、次のような値に負の整数を含むキーと値のペアが表示される場合
json_extract(json, '$.foo')
NULL を返しますが、
json_extract(json, '$.bar')
12345 を返します
json_extract_scalar
も同じものを生産します。
Presto で負の整数を抽出するための回避策は何ですか?