フィルタとクエリパターン
すべてのテーブルタブは フィルタ を持ちます。これは DynoTable が
DynamoDB リクエストに変換する述語の状態です。各要素が query と scan のどちらにマッピングされるかを理解することが、アプリを高速に保ち、請求額を小さく抑えるための大半を占めます。
このページでは ビジュアル タブモードを扱います。SQL スタイルのクエリを直接書くには PartiQL に切り替えてください。結合や集計には Workbench を開きます。
OpenSearch インデックスのタブには専用の検索ボックスとピルがあります: OpenSearch のクエリを参照してください。
フィルタ行
ビジュアルモードでは、ピルが横一列に並んだ1つの行が表示されます:
[Index] [hashKey = value] [rangeKey op value] [+ filter] | [Clear] [Query/Scan]- インデックスピル — 経由して読み取るクエリパターン。
- キーピル — そのパターンのパーティション(ハッシュ)キーと、存在する場合はソート(レンジ)キー。
- フィルタピル — キー以外の追加条件(スキャンフィルタ)。
- アクションボタンは、設定した内容に応じて Query または Scan と表示され、結果のストリーミングが始まると さらに読み込む に変わります。
値を設定すると DynoTable は自動的に実行します。ピルをクリアまたは編集すると、フィルタが再び有効になり次第、再実行されます。

クエリパターン
クエリパターン とは、経由して読み取るインデックスのことです:
- Auto — フィルタからインデックスを DynoTable が選びます。新しいテーブルタブはここから始まります。
PRIMARY— テーブル自身の パーティション / ソートキー。- 名前付きの GSI または LSI — それ自身のキースキーマ。
選択したパターンによって、どのキーでフィルタできるかが決まります。インデックスピルからパターンを切り替えると、キーピルがそのパターンのパーティションキーとソートキーに更新されます。
インデックスの自動選択
Auto のもとで、status が PENDING に等しいなど、インデックスのパーティションキーの値に完全一致するフィルタを設定すると、DynoTable はテーブルを Scan する代わりにそのインデックスで Query を実行します。インデックスピルには Auto · と選んだインデックスが表示されます。
- フィルタがソートキーも絞り込むインデックスが優先され、次にアイテム全体を持つインデックスが選ばれます。
- GSI が選ばれるのは、表示中のすべての列を返す場合だけです。つまり、すべての属性か表示中のすべての列を射影している場合です。列が欠ける代わりに速い GSI は、「… でより高速」のヒントとして表示され、タップするとそのインデックスに切り替わります。
- フィルタしていないソートキーを持つインデックスは、一部のアイテムしか持たない可能性があるため選ばれません。
- 一致させるパーティションキーの値がなければ、タブはこれまでどおり Scan します。
バージョン 1.18.0 より前に開いたタブは、使っているインデックスをそのまま保ちます。自分で選ぶには、ピルでインデックスを選んでください。Auto はテーブルタブに適用され、 Smart Table や Workbench のタブには適用されません。
Query と Scan
これがコストと速度を左右する重要な違いです:
- パーティションキーフィルタ を設定すると、DynoTable はターゲットを絞った Query を発行します — 一致するパーティションだけを読み取ります。安価で高速です。
- 設定しない場合は Scan にフォールバックし、テーブル(またはインデックス)全体をページ単位で読み取ります。これを明示するため、アクションボタンは Scan と表示されます。
キーフィルタ
パーティションキーピルは値を受け取ります。値を設定した瞬間に、アクションは Query になります。ソートキーピルはその上に比較を追加します:
=、<、<=、>、>=— 順序つきの比較(数値、および文字列に対する辞書順)。begins_with— 文字列またはバイナリに対する前方一致。between— 両端を含む範囲。ピルに2つ目の値フィールドが追加されます。
文字列型のキーは、ローカルインデックスにある値から 自動補完 を提供します。インデックスがどう作られ、何を対象にするかはテーブルの概要とインデックス作成を参照してください。有用な候補がないキー(ランダムな UUID など)は、通常の入力欄にフォールバックします。
スキャンフィルタ
+ filter ピルは、キー以外の条件 — キーだけでなく任意の属性 — を追加します。各フィルタは、列、演算子、値で構成されます:
- 比較:
=、≠、<、<=、>、>=、between。 - 所属:
in— リスト内のいずれかの値に一致(文字列または数値)。 - 文字列 / バイナリ:
begins_with、contains。 - 存在:
exists、not exists。 - 型:
type equals/type not equals(DynamoDB の型コードS、N、BOOL、… に対して)と、コレクション型向けのsizeファミリー。
提供される演算子は属性の型に応じて変わります — 数値には順序つきの比較、文字列には
begins_with が表示されます。スキャンフィルタは、Query または Scan がアイテムを読み取った 後 に適用されるため、結果を絞り込みますが Scan が安くなるわけではありません。読み取りを減らすにはキーフィルタを使い、返ってくるものを絞り込むにはスキャンフィルタを使います。
日付の範囲
日付の属性に対するフィルタには、範囲、以降、以前の日付演算子が出てきます。過去 15 分から過去 1 年間までのプリセットを選ぶか、カレンダーを使うカスタム範囲… を選びます。プリセットはクエリを実行するたびに前へずれます。さらに読み込む は最初のページが使った範囲を保つので、ページ間でずれません。
DynamoDB には日付型がないため、日付を持つ属性に印を付けます。列ヘッダーの形式 メニューで 日付 を選ぶか、テーブルダイアログのインデックス作成のペインで属性の型を設定します。 DynoTable はエポック秒、エポックミリ秒、ISO 8601 の文字列を読み取ります。テーブルの TTL 属性は、印を付けなくても日付として扱われます。
シングルテーブル設計: 複合キー
シングルテーブル設計は、複数のエンティティ型をキープレフィックスの背後で1つのテーブルに詰め込みます — USER#123、ORDER#456、TENANT#acme。DynoTable はこれらを自動的に認識し、設定は不要です:
- キーがその場でデコードされます。 複合値 — 大文字のプレフィックスが
#、|、または~で残りの部分と結合されたもの — は、すべてのグリッド(テーブル、PartiQL の結果、Workbench)でラベル付きの各部分として表示されます。これらの文字の1つを単に含むだけの通常の値(#FF5733のような16進数の色や、パイプ区切りのリスト)は、そのまま変更されずに残ります。 - ワンクリックでエンティティに絞り込みます。 行を右クリックして Filter to
USER#を選びます — プレフィックスはその行のキーから直接読み取られます。 DynoTable は通常のフィルタピルとして、キーに対する実際のbegins_withを適用し、これは通常の方法(その ✕、または 消去)でクリアできます。行のパーティションキー と ソートキーの両方にプレフィックスがある場合は、それぞれに1つずつ選択肢が表示されます。
ダイアログも、設定も、保存されるものもありません — 目の前にあるキーからライブで導出されます。

ソートとページング
ソートキーピルは ソート順 の切り替え(昇順 / 降順)を持ち、これは DynamoDB の
ScanIndexForward にマッピングされます。結果は一度に1ページずつストリーミングされます —
さらに読み込む が次のページを取得し、ページサイズを変更すると最初のページから再読み込みします。
Run to end
デフォルトでは、Query や Scan は 数ページで一時停止 し、大きなテーブルが一度にすべて読み込まれないようにします — アクションボタンは さらに読み込む を表示して次のページを取得します。一度の処理で すべて を取得したい場合は、実行モードを切り替えます:
- アクションボタンの隣の シェブロン をクリックして 最後まで実行 を選びます。プライマリボタンは すべて Scan / すべて Query / すべて実行 に表示が変わります — ページ予算で一時停止しているときも含め、それをクリックすると最後まで読み取ります。
- その表示の変わったボタンをクリックすると、DynoTable はテーブル(またはインデックス)全体が読み取られるまでページの取得を続けます。この選択はセッション中、タブごと に記憶されます。ページ単位 を選ぶと元に戻ります。モードを選んでも、それ自体が実行を開始することはありません — ボタンの表示を変えるだけなので、いつ発火させるかはあなたが決めます。
大きなテーブル では、Run to end を準備すると、まずテーブルのおおよそのサイズとアイテム数を示す 確認プロンプト が表示されます。これにより、フルスキャンは事故ではなく、常に意図的な選択になります。続行するには確認し、ページモードのままにするにはキャンセルします。

キーボードから:
- ⌘↩ は現在のクエリを実行します — 結果がページ予算で一時停止しているときは、最初からやり直すのではなく 次のページに進みます。
- ⌘⇧↩ は常に一度の処理で 最後まで実行 します。
- ⌘. または Esc は、実行中の処理をいつでも 停止 します。








