时间:2021-07-01 10:21:17 帮助过:23人阅读
在应用程序中进行数据关联(即执行多次查询,并把结果进行关联)和直接使用关联查询的优劣?
这两种方法分别在什么场景下性能好?
一般来说使用直接关联查询,因为这个并不是想不用就能不用的。如果想减少关联查询提升效率,那么要额外做很多工作,简单来说就是各种缓存。
最简单的例子: Order.StuatsId 关联 OrderStatus.Id
为了能显示订单状态
方法1: 关联查询
方法2: OrderStatus被缓存,同时提供了方法getStatusTitleById的Helper给前台使用,从而避免关联。
所以并发压力不大的项目不用太关注这个,几乎无影响,而并发压力大的项目会专门把这个作为长期任务针对处理。
结论:一般来说使用关联查询造成的性能损失对访问者来说是无知觉的,但是一定要避免过多的关联(例如只需要2个表的数据,实际查询的SQL关联了5个表)
光从效率上来看,肯定关联查询效率要更高
从代码可读性来看,应该是分开来可读性更高。而且可以重用。
具体怎么选择要看你项目大小。