search

Home  >  Q&A  >  body text

在应用程序中进行数据关联和直接使用关联查询的优劣?

在应用程序中进行数据关联(即执行多次查询,并把结果进行关联)和直接使用关联查询的优劣?这两种方法分别在什么场景下性能好?

高洛峰高洛峰3063 days ago812

reply all(1)I'll reply

  • 三叔

    三叔2016-10-22 09:28:59

    一般来说使用直接关联查询,因为这个并不是想不用就能不用的。如果想减少关联查询提升效率,那么要额外做很多工作,简单来说就是各种缓存。

    最简单的例子: Order.StuatsId 关联 OrderStatus.Id
    为了能显示订单状态
    方法1: 关联查询
    方法2: OrderStatus被缓存,同时提供了方法getStatusTitleById的Helper给前台使用,从而避免关联。

    所以并发压力不大的项目不用太关注这个,几乎无影响,而并发压力大的项目会专门把这个作为长期任务针对处理。结论:一般来说使用关联查询造成的性能损失对访问者来说是无知觉的,但是一定要避免过多的关联(例如只需要2个表的数据,实际查询的SQL关联了5个表)


    reply
    0
  • Cancelreply