双向生成的劣势
正如我们上一节介绍的那样,假定我们分别在产品表和订单表之间、客户表和订单表之间建立两个关联,那么:
1、在双向生成模式下,系统会产生6个关联表,加上原来的3个数据表,合计就有9个表
2、在单向生成模式下,系统会产生2个关联表,加上原来的三个数据表,合计5个表。
可以看出,双向生成产生的关联表数量,远远超过了单向生成。
在双向生成模式下,
随着关联的增加,表的数量会按平方数增长,例如有5个数据表,建立了4个关联,而这4个关联都选择了双向生成,那么就将产生20个关联表,加上原有的5个数据表,合计就有25个表
。
打开项目的时候,要分别生成这25个表,运行的过程中还要维护这25个表,肯定会对性能会有一定程度的影响。
当然实际使用的时候,我们不可能将4个关联都开启双向生成,这里只是举个例子来说明滥用双向生成可能带来的影响而已。
所以如果要追求更好的性能,更快的启动速度,那么除非有必要,不要轻易开启双向关联。
如果你建立关联只是为了引用和统计数据,那么连单向生成关联表都可以禁止,在设置关联的时候,直接将生成模式选择为“无”。
请各位不要因此而“歧视”双向生成,适当使用双向生成,对性能并不一定会有明显影响,何况如今的电脑普遍性能过剩,而便利也是我们的主要追求之一。
这里只是想告诉大家,不要滥用双向生成,以免对性能造成不必要的影响而已,实际应用的时候,每个关联都应该根据具体情况来选择生成模式,无需过于敏感。