动态SQL表是个好主意吗?

约翰

我希望某个知识渊博的人能够为我解决所面临的问题。

我有一款游戏,其中我使用rails作为后端来处理许多任务,包括获取高分。在游戏中,用户可以创建自己的关卡,其他用户随后可以在该关卡上玩。我目前通过以下方式将分数存储在称为“分数”的表中

level_id:级别的ID

user_id:玩关卡的用户的ID

total_score:用户在该级别上获得的得分

每次用户完成一个级别时,都会显示该级别的高分,但是我看到的问题是,对于每个级别,我必须获取具有相应level_id的每个数据库条目,然后按降序对获取的条目进行排序总成绩。我觉得似乎有更好的方法,因为我目前必须对每个级别的每个分数进行排序,这似乎是重复的,而且我看到表中的条目很多,这可能会很慢,并获取level_id。

我想知道一种更好的方法是否是为每个级别创建一个表,该表可能包含user_id和total_score,并由total_score进行排序。我觉得这将减少需要执行的排序过程的数量,但是我想知道在这种格式的数据库中是否有大量表的缺点,或者是否有其他可能的方法解决这个问题?

谢谢,

约翰

最大限度

不。

您当前的设计很可能已经足够了,并且每个级别使用一张表将不会带来什么好处,但会带来很多麻烦。

基本上,ActiveRecord是围绕“固定”模式(在运行时不会更改)构建的,并且让每个模型实例占用其自己的表只是行不通。相对数据库不是文档存储。

您需要batsh * t crazy join才能从多个级别提取信息,并且您基本上必须手动执行每种查询或编写自己的ORM。

您可以通过设置分数的默认顺序并加入来完成您想做的事情:

@level = Level.eager_load(:scores)
              .find(params[:id])

但是首先,您需要问自己这是否是过早的优化过早的优化通常会导致对错误问题的错误答案。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

动态SQL表是个好主意吗?

来自分类Dev

Cakephp 3:从Entity调用表函数是个好主意吗?

来自分类Dev

让 SQL 表条目引用同一个表中的其他 ID 是个好主意吗?

来自分类Dev

并行读写文件是个好主意吗?

来自分类Dev

在Ubuntu上这是个好主意吗?

来自分类Dev

“包装”异常是个好主意吗?

来自分类Dev

使用 ENV 变量是个好主意吗?

来自分类Dev

部分 uuid 是个好主意吗?

来自分类Dev

在动态分配的2D数组上使用realloc()是个好主意吗?

来自分类Dev

将过期的令牌放入黑名单表是个好主意吗?

来自分类Dev

在mysql表中连续一天的值是个好主意吗?

来自分类Dev

将加密的密码密钥存储在另一个表中是一个好主意吗?

来自分类Dev

提取大量String文字是一个好主意吗?

来自分类Dev

组合实例VBO是一个好主意吗?

来自分类Dev

同时读取多个文件是个好主意吗?

来自分类Dev

用Ubuntu扫描外部硬盘是个好主意吗?

来自分类Dev

Django:模板中的变量是个好主意吗?

来自分类Dev

手动调用updateViewConstraints是个好主意吗?

来自分类Dev

MVC:按视图拆分CSS文件是个好主意吗?

来自分类Dev

编写依赖Groovy的库是个好主意吗?

来自分类Dev

在Lubuntu中安装gedit是个好主意吗?

来自分类Dev

处理参数对象是个好主意吗?

来自分类Dev

在Clojure中强制垃圾回收是个好主意吗?

来自分类Dev

打破封装曾经是个好主意吗?

来自分类Dev

一个好主意是为此使用复合模式吗?

来自分类Dev

在Entity Framework查询中使用TransactionScope是个好主意吗?

来自分类Dev

在反跳函数中使用requestAnimationFrame是个好主意吗?

来自分类Dev

CSS:拆分布局和外观是个好主意吗?

来自分类Dev

定义自己的random.randbool是个好主意吗?

Related 相关文章

  1. 1

    动态SQL表是个好主意吗?

  2. 2

    Cakephp 3:从Entity调用表函数是个好主意吗?

  3. 3

    让 SQL 表条目引用同一个表中的其他 ID 是个好主意吗?

  4. 4

    并行读写文件是个好主意吗?

  5. 5

    在Ubuntu上这是个好主意吗?

  6. 6

    “包装”异常是个好主意吗?

  7. 7

    使用 ENV 变量是个好主意吗?

  8. 8

    部分 uuid 是个好主意吗?

  9. 9

    在动态分配的2D数组上使用realloc()是个好主意吗?

  10. 10

    将过期的令牌放入黑名单表是个好主意吗?

  11. 11

    在mysql表中连续一天的值是个好主意吗?

  12. 12

    将加密的密码密钥存储在另一个表中是一个好主意吗?

  13. 13

    提取大量String文字是一个好主意吗?

  14. 14

    组合实例VBO是一个好主意吗?

  15. 15

    同时读取多个文件是个好主意吗?

  16. 16

    用Ubuntu扫描外部硬盘是个好主意吗?

  17. 17

    Django:模板中的变量是个好主意吗?

  18. 18

    手动调用updateViewConstraints是个好主意吗?

  19. 19

    MVC:按视图拆分CSS文件是个好主意吗?

  20. 20

    编写依赖Groovy的库是个好主意吗?

  21. 21

    在Lubuntu中安装gedit是个好主意吗?

  22. 22

    处理参数对象是个好主意吗?

  23. 23

    在Clojure中强制垃圾回收是个好主意吗?

  24. 24

    打破封装曾经是个好主意吗?

  25. 25

    一个好主意是为此使用复合模式吗?

  26. 26

    在Entity Framework查询中使用TransactionScope是个好主意吗?

  27. 27

    在反跳函数中使用requestAnimationFrame是个好主意吗?

  28. 28

    CSS:拆分布局和外观是个好主意吗?

  29. 29

    定义自己的random.randbool是个好主意吗?

热门标签

归档