我正在Django中编写一个应用程序,我有一个实例,我想创建一个带有单层继承到多个子类的模型。即:
车辆 - >汽车,自行车,公共汽车
我需要能够将项目作为Vehicle超类进行搜索和存储,但是在大多数情况下,需要向子类进行向下转换以使用其他字段。在Django中,这将导致数据库检索子模型或大量连接和查询的大量命中。
我应该使用具体的子类并获得性能影响,还是应该将额外的字段添加到一个车辆模型中,然后在各种对象中使用未使用的字段?
我应该注意,附加字段通常是1-3个小字段,即Char字符串,总共4个子类(每个模型最多9个未使用的字段)
答案 0 :(得分:1)
这个问题的基本答案是 - 无论你在SQL数据库方案中避免'JOIN',你应该避免它。
原因在于,JOIN命令的复杂性最高且占用时间最多。所以一般来说,建议如下: