0
DynamoDB와 함께 PHP를 사용하고 있습니다. '스캔'을 사용하여 일부 레코드를 가져옵니다. 나는 MySQL에서와 마찬가지로이 질의와 함께 Group By를 사용하기를 원했다. 도와주세요.DynamoDB에서 group by를 어떻게 사용합니까?
$result = $client->scan([
'ExpressionAttributeValues' => [
':v1' => [
'S' => '2002',
]
],
'FilterExpression' => 'userId = :v1',
'TableName' => $this->table,
]);
return $result;
아래의 답변 외에도 : 자신이 '스캔'을 사용하여 항목을 그룹화 할 것으로 예상되는 경우 DynamoDB가 찾고있는 도구가 아닐 수도 있고 데이터 모델을 통해 생각해 보지 않았거나 테이블 디자인. – JHH
스캔은 상당한 읽기 용량 단위를 소비하는 테이블의 전체 내용을 반환하는 데 사용됩니다. 귀하의 예제에서, 당신은'userId'를 필터링하고 있습니다. 이것은 실제로 해시 키로'userId'를 사용하거나'userId'를 키로 사용하는 보조 인덱스에서'query'를하는 것입니다. 현재 코드를 사용하면 클라이언트가 필터 식과 일치하지 않는 모든 것을 버리는 경우에만 백만 개의 레코드가있는 테이블이 반환됩니다. – JHH