accesspatterns.dev

One query, a whole collection

Items that share a partition key are read together in one Query.

Why

All the items sharing a partition key form an item collection, stored together and sorted by sort key. Query reads a slice of one collection.

Here one Query returns the room and every message in it, in order, in a single round trip. The messages were written next to the room on purpose, so reading them back is one cheap operation rather than a join.

Co-locate what you read together. Then a Query reads it all at once, cheaply.

Chat

These rows are real and already here. Running an operation against them downloads a DynamoDB-compatible engine, about 850 KB, and executes it in this tab.

Try an example

Every item under ROOM#general, the room meta and all its messages, in a single request.

pk(pk)
sk(sk)
topic
from
text
ROOM#general
METAS
Anything goesS
ROOM#general
MSG#2026-06-01T09:00S
adaS
morning allS
ROOM#general
MSG#2026-06-01T09:05S
linusS
coffee firstS
ROOM#general
MSG#2026-06-01T11:20S
graceS
standup in 10S
ROOM#general
MSG#2026-06-01T15:40S
adaS
PR up for reviewS
ROOM#general
MSG#2026-06-02T08:30S
linusS
merged, thanksS
ROOM#general
MSG#2026-06-02T14:00S
graceS
ship itS
ROOM#general
MSG#2026-06-02T16:15S
adaS
deploying nowS
ROOM#general
MSG#2026-06-03T09:10S
graceS
all greenS
ROOM#random
METAS
Off topicS
ROOM#random
MSG#2026-06-01T12:00S
adaS
lunch?S
ROOM#random
MSG#2026-06-01T12:30S
linusS
tacosS
ROOM#random
MSG#2026-06-02T17:00S
graceS
weekend plans?S
ROOM#random
MSG#2026-06-03T13:00S
adaS
hikingS
ROOM#design
METAS
Design critsS
ROOM#design
MSG#2026-06-01T10:00S
maraS
new mock in figmaS
ROOM#design
MSG#2026-06-02T11:00S
adaS
love the spacingS
ROOM#design
MSG#2026-06-02T13:30S
maraS
tweaked the typeS
ROOM#support
METAS
Customer issuesS
ROOM#support
MSG#2026-06-01T08:00S
samS
ticket 1042 escalatedS
ROOM#support
MSG#2026-06-02T09:30S
samS
resolvedS
ROOM#support
MSG#2026-06-03T10:00S
adaS
nice workS

Run an operation to see the raw engine response.

table Chatkeys pk / skitems 22