最適なクエリー結果を得るには、パスとペイロードのフィルタリングを組み合わせます。
例では、サンプルの河川流量データ セットを使用します。独自のデータを使用するには、テーブル名、列名、および許可オブジェクトを置き換えます。サンプル データ セットの信頼証明および格納場所の値については、例の変数置換を参照してください。
- NOS関連コマンドを実行するには、必要な権限を持つユーザーとしてデータベースにログオンします。
- 存在しない場合は、riverflow_json_pathという名前の外部テーブルを作成するか、データベース管理者に作成を依頼します。外部テーブルのペイロード列でのフィルタリングを参照してください。
- パスとペイロード フィルタリングを組み合わせて、特定の年、月、およびサイト番号で、ゲージの高さが5を超えた回数を確認します。
SELECT COUNT(*) FROM riverflow_json_path WHERE payload.GageHeight > 5 AND $path.$siteno = '09394500' AND $path.$year = '2018' AND $path.$month = '07';
パス フィルタリングによって、オブジェクト全体が読み取られることがなくなり、ペイロード フィルタリングによって、それらのオブジェクト内の対象レコードが選択されました。
結果:
Count(*) ----------- 1602