Выходит из набора данных, как описано в таблице ниже. Sr.no используется в таблице ниже только для справки.
|sr.no| id | tis |data-type| b.id |idType_2| var_2 |
|-----|----------|-----|---------|----------|--------|--------|
| 1 |abc-def-gi|12345| a-type |1234567890| 843023 | NULL |
|-----|----------|-----|---------|----------|--------|--------|
| 2 |1234567890|12346| b-type | NULL | NULL |40030230|
|-----|----------|-----|---------|----------|--------|--------|
| 3 |abc-def-gj|12347| a-type |1234567890| 843023 | NULL |
Типы запросов
- Введите
id
и, еслиdata-type
a-type
, верните поляtis,b.id,id_type2
ссылкуsr.no=1
- Введите
id
и, еслиdata-type
равноb-type
, верните полеvar_2
ссылкуsr.no=2
- Введите
id_type2
поля возвратаid,tis,b.id
изsr.no=1,3
- Введите
data-type
, вернитеid
на основеtis between 12345 and 12347
Примечание
sr.no=1,3
илиa-type
данных вставляется 100 тыс. Раз в день с уникальнымиid
sr.no=2
илиb-type
данных - это фиксированный набор данных.
Эффективен ли приведенный ниже ключевой подход для такого набора данных? Есть ли другой подход, который можно использовать для хранения и извлечения данных из DynamoDB?
Partition Key = id
, чтобы позаботиться о запросе 1,2.
GSI1=id_type2 and GSI1SK=id
для выполнения запроса 3
GSI2=data-type and GSI2SK=tis
для выполнения запроса 4