【发布时间】:2014-02-05 03:56:56
【问题描述】:
我正在为我的游戏创建一个存储在数据库中的高分表,但我想知道存储此类表的最佳做法。 是否应该在每次添加新分数时重新使用该表,还是应该对查询接收的数据进行排序?
似乎在服务器上只在检索数据时进行排序而不是每次都更新表会更容易。
【问题讨论】:
-
数据库中的数据可以“排序”存储在磁盘文件中,但这种优化仅在您的数据很少更改/更新时才有用,因为任何此类更改都需要重新用新的顺序写入整个磁盘映像。对于一张普通的桌子,这将是一个非常低效的过程。
-
使用索引,这个[问题可能有帮助][1] [1]:stackoverflow.com/questions/13944946/…
-
@MarcB 添加新乐谱是插入一行。这并不“需要用新的顺序重写整个磁盘映像”。它需要更新索引。
-
ejp:是的,但问题是关于存储预先排序的数据。如果您有 1,2,5,10 并插入 6,那么该要求将不允许 1,2,5,10,6 出现在磁盘上 - 您必须为 1 准备一块表, 2,5,6,10