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