Это кажется несколько очевидным, но документация Amazons, похоже, не
прикрой это.
Да, ответ определенно 1), в противном случае предложение limit
вообще не будет полезным для любых сценариев реального мира (см. Ниже); кроме того, это серьезно нарушило бы принцип наименьшего удивления , поскольку синтаксис Amazon SimpleDB смоделирован после SQL, который в этом отношении работает должным образом, см., например, предложение LIMIT в PostgreSQL :
При использовании LIMIT рекомендуется использовать предложение ORDER BY, которое
ограничивает результирующие строки в уникальном порядке. В противном случае вы получите
непредсказуемое подмножество строк запроса - [...].
Например, в противном случае SimpleDB не разрешит правильную нумерацию страниц, которая действительно организована с помощью limit
(подробности см. В ответе Mocky о Как выполнить разбиение по страницам с simpledb? ) то есть вы получите следующий токен , если будет больше результатов, которые не дадут правильно отсортированные страницы, если limit
не будет подчиняться order by
.
Соответственно, чтобы, наконец, привести некоторые аргументы, выведенные из документации Amazon, Count также указывает на ожидаемое поведение:
Следующий токен, возвращаемый count (*) и select, взаимозаменяемы как
До тех пор, пока предложения и порядок по пунктам совпадают.