Кассандра пагинация внутри раздела
Как я могу разбить данные на страницы внутри раздела? Я не могу использовать токен для этого, поэтому я создал поле microtime со временем создания и упорядочил записи по нему. Теперь я нарезаю данные, используя '<' и '>', и это создает много ограничений для моих запросов. Есть ли лучший способ сделать это?
1 ответ
Что касается прямого разбиения на страницы, большинство драйверов (я определенно знаю о Java & Node.js) имеют понятие подкачки страниц. Вы в основном выполняете свой запрос, но устанавливаете размер выборки равным количеству записей, которые вы хотите иметь на странице. Вы можете получить текущее "состояние подкачки" и установить его в "Cookier" или скрытый параметр формы страницы и восстановить его, когда пользователь нажимает кнопку "Next", чтобы вы могли получить следующую страницу.
Обратный пейджинг более сложен, но также выполним - в основном вам нужно где-то сохранить значение ключа (ей) кластеризации для первой записи, которую вы выводите на предыдущей странице, а затем выполнить запрос как select * from table where partition_key = value and clustering_column > value
,