Suppose, I have an application which reads data from cassandra and displays them to the user in chunks of lines like 10 or 20 rows a page. Is there a way to do it efficiently in cassandra? Suppose, I have a table 'ks1.cf1' with partition key 'pk' and clustering column 'ck' and each partition has more than 1000 rows and I want to display 10 rows per partition to the user at a time. One way to do it is running
SELECT * FROM ks1.cf1 LIMIT 10;
and get the last row and do an inequality based on the clustering column (value of 'ck') and limiting the results again like
SELECT * FROM ks1.cf1 WHERE ck > value_in_last_row LIMIT 10;
Is this an efficient way to do this or will there be a lot of overhead running the same query multiple times? How does result pagination work in cqlsh and does cql or java driver support anything like it? Also, does using LIMIT fetch the entire partition and display only the number of records requested? Also, how can I do the same for general queries like if I am fetching multiple partitions and want to display n partitions at a time?