Paginação numerada em consultas SimpleDB

O Amazon SimpleDB não oferece suporte a cláusulas OFFSET em sua sintaxe de consulta, como fazem alguns outros sistemas de armazenamento. Por exemplo, se você estiver usando páginas de 10 itens cada em seu aplicativo, veja como você pode obter a 4ª página no MySQL:

SELECT * FROM items LIMIT 30, 10

A LIMIT 30, 10cláusula significa pular os primeiros 30 registros e retornar os 10 depois deles. O SimpleDB não tem isso pronto para uso, mas você pode simular fazendo 2 consultas. O primeiro é este, que conta os primeiros 30 itens:

SELECT COUNT(*) FROM items LIMIT 30

Sua biblioteca cliente SimpleDB executará isso, retornando a contagem e também um elemento NextToken na resposta. Agora você pode fazer esta segunda consulta para obter a 4ª página de itens:

SELECT * FROM items LIMIT 10

Certifique-se de passar o NextTokenem sua biblioteca de cliente para que a consulta seja retomada a partir do cursor associado. Qualquer consulta emitida com o próximo token opera apenas nos registros que não foram contados pela primeira consulta, fornecendo a você um deslocamento implícito.