我有一个用于Django的MySQL数据库。我的一个表大约有60列。我想知道是否要把它分成5-6个较小的表。这在逻辑上是有意义的,因为列被很好地分成了5-6个逻辑组。
缺点是,一些Django页面需要5-6个行查询,而不是1个。
一个表包含多列,还是多个表包含较少列,哪个更有效率?如果是前者,那么拥有许多表有多大的缺点呢?(就人们所能量化的这些东西而言…)
感谢您的建议:)
发布于 2010-09-29 22:46:30
发布于 2010-09-29 23:34:14
如果将它们拆分成多个模型是合理的,那么就拆分它们。为了提高效率,不要把它们放在单一的模型中。
检索数据的性能/有效性实际上取决于查询的结构。当你只使用5- 10个字段时,没有必要在内存中加载所有70列。您可以使用.values()只选择您想要的内容。
此外,当您拆分成多个模型并使用外键将它们关联起来时,使用select_related可以用更少的查询检索相同的信息,有时甚至只需1个查询。
如果我们能看到模型,也许我们能给出我们最好的意见。
https://stackoverflow.com/questions/3822724
复制相似问题