cassandra - 构建 Cassandra 表以显示 NHL 统计数据的正确方法
问题描述
我一直坚持使用正确的方法来构建我的 Cassandra 表以保存 NHL 球员统计数据。
起初,我有 3 个表,其结构如下:
CREATE TABLE statsBySeason_points (playerId int, playerName text, season text, goals int, assists int, points int PRIMARY KEY(season, points/goals/assists)) WITH CLUSTERING ORDER BY (points/goals/assists DESC);
对于我会使用的查询WHERE season=?
这种方式不允许我在同一个赛季中拥有总分相同的球员,因为主键最终会是相同的。
我还考虑过对其进行结构化,以便每个赛季都有自己的表格,并且使用PRIMARY KEY (playerId, points)
这种方式不会按点排序,因为它们都有唯一的 playerId。
基本上我想不出一种方法可以让我只使用该season
值来搜索玩家并对其进行排序,而无需在搜索后进行排序。这可能吗?
谢谢
解决方案
这允许搜索一个赛季,它可以按积分、进球、助攻进行排序
PRIMARY KEY ((season), points, goals, assists, playerId)
推荐阅读
- arrays - 将 1,2 字符串转换为数组 [1, 2]
- ios - 使用 iOS 设置 TCP_QUICKACK
- php - 如何使用Jquery从输入类型=文件中的mysql数据库传递一个值?
- python - Python - POST 请求时拒绝访问 403
- xml - xslt 2.0:无法从 xml 中选择多个值
- r - 如何绕过使用不同日期的重复函数?
- c# - 如何在 LinQ 中调用函数
- headless - 是否有相当于“在项目>设置>执行中存在的每个测试用例/测试套件之后终止驱动程序的代码?
- python - 小于或等于 numpy 浮点数的运算符?
- c - 如何在 Visual Studio 中使用 Tensorflow C 库