SQL Workbench
Workbench は、DynamoDB テーブルをまたいで実際の JOIN、GROUP BY、集計
クエリ — PartiQLにはできないこと — を実行する SQL オーサリング
タブです。これは DynamoDB のアクセスパターンの規則の中の SQL です: 単一の
SELECT を書くと、コンパイラがすべての結合が実際のキーまたはインデックスを
通って読み取ることを確認し、結合された行をマテリアライズし、その上であなたの
完全な SQL を実行します。
サイドバーの右クリックメニュー(New Workbench)、⌘⌥B ショートカット、または File → New Workbench から開きます。SQL を書いて、 ⌘↩ を押して実行します。
SELECT c.email, COUNT(*) AS orders, SUM(o.total) AS revenue
FROM orders o
JOIN customers c ON o.customerId = c.id
GROUP BY c.email
ORDER BY revenue DESC
サポートする内容
次を含む単一の SELECT ステートメント:
JOIN ... ON ...— テーブルをまたぐINNERおよびLEFT結合。- 集計 —
COUNT、SUM、AVG、MIN、MAX、加えてGROUP BYとHAVING。 WHERE、DISTINCT、CASE、CAST、ORDER BY。
集計クエリがまだストリーミング中の間、partial バッジが該当する列に印を
付けます — より多くのページが届くにつれて数値が精緻化されます。
アクセスパターンの規則
DynamoDB にはサーバーサイドの結合がありません。Workbench コンパイラは、
DynamoDB ができることを強制します: 各 JOIN の to 側の属性は、ターゲット
テーブルのパーティションキーまたは GSI パーティションキーでなければならず、
すべての検索が実際のクエリになり、行ごとの隠れたテーブル全体スキャンには
なりません。
結合がキーでない属性を指している場合、エディタはそれに下線を引いて理由を 説明します。コンパイラが、正確な波線とともに事前に拒否する他の構文:
RIGHT/FULL OUTER/CROSS結合とカンマ結合(INNER/LEFTのみ)。- サブクエリ、CTE(
WITH)、UNION/INTERSECT/EXCEPT。 - ウィンドウ関数(
OVER)、複数のステートメント、SELECT以外のすべて。
読み取り専用
Workbench は常に読み取り専用です。編集、ステージング、 一括削除はありません — 分析用の画面です。クエリの実行がテーブルに書き込むことは 決してありません。
識別子は標準 SQL の大文字小文字の扱いに従います: クォートされていない名前は
大文字小文字を区別せずに一致します(WHERE PLATFORM は platform を見つけます)。
大文字小文字を正確に一致させるには、名前をクォートまたはバッククォートで囲みます。
実行、テンプレート、履歴
- Run — エディタで ⌘↩、Run ボタン、または再実行には ⌘R。 Workbench タブは開いたときに自動実行することはありません。実行は常に意図的です。
- Run to end — ⌘⇧↩、または Run ボタンのスプリットメニューから 選びます。1 ページではなく、結合された結果全体をストリーミングします。ページ 上限が解除され、クエリが尽きるまでページが届き続けます。Stop だけが唯一の ブレーキです。1 回のパスで完了させたい大きな集計に便利です。
- テンプレートと保存済みクエリ — Queries メニューには、スターター テンプレート(全選択、キーでフィルター、グループで集計、Tab で移動できる箇所 付き)に加え、Save で保存したクエリ — 任意のテーブルで再利用できる、自分で 名前を付けたクエリ — が並びます。選ぶとエディタの内容が置き換わるので、保存した ままの状態で実行されます。
- History — すべての実行が保存され(PartiQLの履歴とは別に)、 検索でき、復元できます — 失敗した実行も含まれるので、修正して再試行できます。
Workbench タブは保存された仕様です — 名前を付け、⌘K から再度開けば、 再読み込みを経ても残ります。結合された結果をエクスポートする こともできます。
Workbench と Smart Table
どちらも同じ結合エンジンを実行します。同じものをオーサリングする 2 つの方法です:
- Workbench は SQL の経路 — クエリを入力し、集計と解決された属性を 得ます。
- **Smart Table は ビジュアルの経路** — キャンバスに 結合を描画し、結合された行を通常のテーブルのように閲覧します。


