# AWS - DynamoDB Scan VS Query


# Query

定義

  • 使用 Partition Key 進行精確查找
  • [Optional] 使用 Sort Key 進行範圍查找
  • 高效的資料檢索方式

# 工作原理

  1. 直接定位到特定的 Partition
  2. 僅讀取該 Partition 的資料
  3. [Optional] 可選用 Sort Key
  4. 回傳匹配結果

# Scan

定義

  • 檢查表中的每一個項目
  • 全表掃描
  • [Optional] 可用 Filter 條件

# 工作原理

  1. 遍歷整個表
  2. 讀取所有項目
  3. [Optional] 應用 Filter
  4. 回傳匹配結果

# 詳細比較


# 效能差異

特性 Query Scan
速度
讀取數據量 僅相關項目 整個表
RCU 消耗
延遲 ms 級 s/m 級
可預測性

# 使用差異

Query 要求

  • 指定 Parition Key
  • [Optional] Sort Key

支持 </=/>/<=/>=/BETWEEN/BEGINS_WITH 操作

Scan 要求

  • 無必須條件
  • 可以沒有任何條件
  • [Optional] 添加 Filter 條件
  • 掃描整張表
  • 過濾在讀取後的應用
  • 仍消耗完整的 RCU

# Reference

  • Tutorials Dojo - DynamoDB Scan vs Query