Database design 在数据库上存储位置晶格 这个问题出现在下面的考虑中:考虑一个像MrMg这样的世界地图,比如Trvia/TabiRe战争。即使是2D地图,它们通常也有很多不同的身份,比如玩家的城镇、地形特征等

Database design 在数据库上存储位置晶格 这个问题出现在下面的考虑中:考虑一个像MrMg这样的世界地图,比如Trvia/TabiRe战争。即使是2D地图,它们通常也有很多不同的身份,比如玩家的城镇、地形特征等,database-design,Database Design,这些地图是如何保存在数据库中的?是否每个磁贴都有一个条目,并且在该位置有一个标识的外键?或者反过来说:每个标识都是定义其位置的两个位置属性(x,y) 从更广泛的意义上讲,我的问题是:在类似mysql的数据库上存储位置晶格(方形块、六角形块等)最有效的方法是什么?当查询数据库中的职位或职位列表时,进行此类存储的瓶颈(如果有)是什么?这完全取决于场景。例如,如果贴图是稀疏的,则将具有坐标的实体的位置存储在一行中可能是有意义的。如果拓扑是不规则的(即,任何给定分幅中有任意多条路径),则可以将其存储为图

这些地图是如何保存在数据库中的?是否每个磁贴都有一个条目,并且在该位置有一个标识的外键?或者反过来说:每个标识都是定义其位置的两个位置属性(x,y)


从更广泛的意义上讲,我的问题是:在类似mysql的数据库上存储位置晶格(方形块、六角形块等)最有效的方法是什么?当查询数据库中的职位或职位列表时,进行此类存储的瓶颈(如果有)是什么?

这完全取决于场景。例如,如果贴图是稀疏的,则将具有坐标的实体的位置存储在一行中可能是有意义的。如果拓扑是不规则的(即,任何给定分幅中有任意多条路径),则可以将其存储为图形(即,一对多配置中的单独“节点”和“边”表)。您可能会决定对数据库中的项目使用连续(例如,实)坐标,然后在应用程序中将它们简单地划分为逻辑“分幅”

类似地,瓶颈将取决于应用程序。你是否经常需要问“现在我身边有什么?”或者你只是问“我能从这里到那里吗?”。如果您考虑了特定的用例,也许您可以添加更多细节,我们可以尝试提供更详细的答案

和以往任何关于性能的讨论一样,假设情况下的随机推测永远不能替代原型和测量