问题描述
让我说我有一个表格pagelabels,它跟踪由用户使用标签标记的页面-
我的桌子如下-
CREATE TABLE pagelabels (
pageid text PRIMARY KEY,label list<string> // A list of label on this pageid
)
我想最初在用户页面上显示用户10标签,该标签按打开页面时的插入时间排序。当用户通过单击“加载更多标签”来请求更多标签时,我应该在此页面上返回下一个10个标签。我如何支持这种分页方案?在这种情况下,我应该考虑更改数据模型吗?
解决方法
使用当前数据模型无法获得所需的结果。对于当前的数据模型,如果使用pageId进行查询,则所有标签将立即返回,因为它们在单个列表中。也没有规定按插入时间排序。 更好的数据模型可能是
CREATE TABLE pagelabels (
pageid text,insertion_time timestamp,label string,label_attribute1 string,PRIMARY KEY (pageid,insertion_time,label));
)
使用该数据模型并使用驱动程序中的分页(例如,请参见此处的Datastax Java Driver。