相关疑难解决方法(0)

将Django模型/表拆分为两个模型/表是否具有性能优势?

问题7531153中,我询问了将Django模型拆分为两种的正确方法 - 使用Django的多表继承或显式定义OneToOneField.

根据Luke Sneeringer的评论,我很好奇是否将模型分成两部分可以获得性能提升.

我之所以考虑将模型分成两部分是因为我有一些字段总是会完成,而其他字段通常都是空的(直到项目关闭).

将典型的空字段(如actual_completion_dateactual_project_costs)放入Django中的单独模型/表中是否会带来性能提升?

分为两种模式

class Project(models.Model):
    project_number = models.SlugField(max_length=5, blank=False,
            primary_key=True)
    budgeted_costs = models.DecimalField(max_digits=10, decimal_places=2)
    submitted_on = models.DateField(auto_now_add=True)

class ProjectExtendedInformation(models.Model):
    project = models.OneToOneField(CapExProject, primary_key=True)
    actual_completion_date = models.DateField(blank=True, null=True)
    actual_project_costs = models.DecimalField(max_digits=10, decimal_places=2,
            blank=True, null=True)
Run Code Online (Sandbox Code Playgroud)

django database-design django-models database-schema

1
推荐指数
2
解决办法
1252
查看次数