[英]How to Design a Table for scoring system in Cassandra
我在 Cassandra 中有一张我的产品表。 在这张表中,我存储了产品名称和卖家名称(可能有数千个卖家)和分数(卖家的产品分数),如下所示
CREATE TABLE products
(
product_name varchar,
seller_name varchar,
score int,
primary key (product_name, seller_name)
);
我需要在我的代码中更新分数
UPDATE products SET score = 2 WHERE product_name = "iphone-7" AND seller_name = "jack" ;
一切都很好,除了 Select 查询:
SELECT * FROM products WHERE product_name = "iphone-7" ORDER BY SCORE DESC;
我需要按分数顺序获取产品但是如您所知,没有分数作为主键就无法排序但是如果我将分数放在主键中,将无法更新它有什么解决方案?
解决方案是有两个表来满足您的要求。 例如第二个表可以是
CREATE TABLE products_score
(
product_name varchar,
score int,
primary key (product_name, score)
);
所以你在写作时填充并使用第二个按分数排序
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.