PartiQL 與 SQL

PartiQL 給了 DynamoDB 一套類 SQL 的語法 — 但它是針對單一表格的 SELECT/INSERT/UPDATE,而非一個查詢引擎。沒有 JOIN、沒有 GROUP BY、沒有跨項目的 SUM。若你出於習慣寫了 SQL,PartiQL 會悄悄地把一個熟悉的陳述式對應成一次全表 Scan,並為此向你收費。

本節為 PartiQL 設定誠實的期待,再展示 DynoTable 的 SQL Workbench 如何做到 PartiQL 做不到的事 — JOINGROUP BY 與聚合 — 在用戶端對一個有界的結果集上進行,並待在 DynamoDB 存取模式規則之內。

已讀 0 / 7測驗
DynamoDB PartiQL vs SQL:什麼會失效
DynamoDB 的 PartiQL 看起來像 SQL,卻沒有 JOIN、GROUP BY、子查詢或聚合。每一條語句都對應一個原生操作。以下是會失效的部分。
入門閱讀時間 8 分鐘
用範例學 DynamoDB 的 PartiQL
用範例學 DynamoDB 的 PartiQL——以類 SQL 語法示範 SELECT、INSERT、UPDATE、DELETE,以及分割區索引鍵與全表掃描相關的陷阱。
入門閱讀時間 2 分鐘
DynamoDB 的 SQL 與 PartiQL 的極限
可以用 SQL 查詢 DynamoDB 嗎?PartiQL 能依索引鍵處理 SELECT、INSERT、UPDATE 與 DELETE,但沒有 JOIN、GROUP BY 或 COUNT(*)。以下是行得通的部分。
入門閱讀時間 8 分鐘
DynamoDB JOIN:如何聯結表格(以及為什麼你通常辦不到)
DynamoDB 沒有 JOIN,PartiQL 也不會補上一個。原因為何、開發者用的四種變通做法,以及 DynoTable 的 SQL Workbench 如何執行真正的 JOIN。
中階閱讀時間 9 分鐘
DynamoDB GROUP BY:如何在沒有 GROUP BY 子句的情況下聚合
DynamoDB 與 PartiQL 都沒有 GROUP BY、COUNT 或 SUM。取而代之的模式 — 原子計數器、Streams + Lambda 匯總,以及應用程式端分組。
中階閱讀時間 9 分鐘
如何在 DynamoDB 裡 COUNT、SUM 與聚合
如何在 DynamoDB 裡 COUNT、SUM 與聚合 — Select=COUNT 要花多少、為什麼沒有原生的 SUM 或 AVG,以及哪些模式能給你真正的總計。
入門閱讀時間 8 分鐘
知識測驗開始測驗
檢驗你在本節學到的內容。

從 PartiQL 與 SQL 的比較開始,校準什麼才是真實的。

試用 DynoTable 來在 Workbench 中對你的表格執行 SQL。