我有一个大约有70个属性的实体。这是一场游戏中的战斗。攻击者有船,而防御者有船和防御单位。有10种不同类型的舰船和10种不同类型的防御单位。可以有0艘或多艘相同类型的舰艇和防御单位。还有两种类型的资源。
因此,我需要对每一种类型的攻击舰在战斗前后、战斗前后的每一种防御舰、战斗前后的每一种防御防御单位以及战斗前后的各种资源(总共64种属性)+属性( id_battle (AUTO_INCREMENT)、date)等属性都有属性。
如果表有70列,那么性能方面有什么问题吗?是否有更好的方法来创建这个,也许有更多的表?
发布于 2014-11-10 11:33:27
你会让你的数据正常化。永远不会有一个列shiptype_a和另一个shiptype_b,而是一个包含ship类型的表,可能还有其他引用它的记录的行,而不是列。
或多或少:
“有10种不同类型的船”
“以及10个不同类型的防御单位。”
“可能有0艘或多艘相同类型的船只和防御单位。”
“还有两种类型的资源。”
“攻击者有船,而防御者有船和防御单位.所以我需要对每一种类型的攻击舰在战斗前后都有属性.”
这将导致以下表格:
或在没有船舶和defense_unit_table的情况下:
如果它是一个棋盘游戏,有64个字段,如国际象棋,那么您可以存储整个棋盘,但通常您仍然只是存储单个字段,而不是记录64×n字段(fields1_is_what、field1_attacker_ship_id、field1_defender_ship_id、field1_defender_defense_unit_id、field2_ .)。然而,这与性能无关,但更多的是与数据库的处理和如何编写查询有关。
https://stackoverflow.com/questions/26842247
复制相似问题