Django / SQL:什么是最有效,更多列或更多表?

时间:2010-09-29 14:41:58

标签: sql mysql django

我有一个MySQL数据库,我正在使用Django。我的一张桌子有大约60列。我想知道是否将它分成5-6个较小的表。这将具有逻辑意义,因为列很好地分成5-6个逻辑组。

缺点是某些Django页面需要5-6行查询而不是1。

让一个表有很多列,或者有很少列的表更有效吗?如果是前者,有多少表有多少缺点呢? (据我所知,可以量化这些事情......)

感谢您的建议:)

3 个答案:

答案 0 :(得分:3)

答案 1 :(得分:0)

  1. 使用旧的Opccams剃须刀。不要做不必要的动作。你的一张桌子还可以吗?如果是这样 - 保持原样。不要让自己无处可去。

  2. 你错了6个查询。它仍然是单一查询。但请参阅第1项。

答案 2 :(得分:0)

如果将它们分成多个模型是合乎逻辑的,那么将它们拆分。仅仅出于效率的原因,不要将它们保留在单一模型中。

检索数据的性能/有效性实际上取决于您构建查询的方式。当您仅使用5-10个字段时,无需在内存中加载所有70列。你可以使用.values()选择你想要的东西。

此外,当您拆分为多个模型并使用外键关联它们时,使用select_related,您可以使用较少的查询检索相同的信息,有时甚至可以检索1。

如果我们能看到模特,可能会给出我们最好的意见。