admin 发表于 2024-1-25 17:37:20

AttributeLinkedSet对象过多导致的性能下降

## 表现

1. `AttributeLinkedSet` 属性,有4万多个对象,打开详情页特别慢(14s)
2. 执行 `DBUpdate` 特别慢(13s)

```
2024-01-25 17:33:48 | Info    | 1   | TransactionRecord UpdateRemote:DBUpdate use: 13.63 | Houseinfo |||
2024-01-25 17:34:02 | Info    | 1   | TransactionRecord UpdateRemote:DBUpdate use: 13.63 | Houseinfo |||
2024-01-25 17:34:17 | Info    | 1   | TransactionRecord UpdateRemote:DBUpdate use: 13.72 | Houseinfo |||
2024-01-25 17:34:35 | Info    | 1   | TransactionRecord UpdateRemote:DBUpdate use: 13.83 | Houseinfo |||
2024-01-25 17:34:49 | Info    | 1   | TransactionRecord UpdateRemote:DBUpdate use: 13.14 | Houseinfo |||
2024-01-25 17:35:04 | Info    | 1   | TransactionRecord UpdateRemote:DBUpdate use: 13.76 | Houseinfo |||
```

## 解决方案

1. `presentation`中`detail` 不显示 `AttributeLinkedSet` 属性,可以解决详情页打开慢的问题


admin 发表于 2024-1-25 17:58:39


此问题是在计算 `xx_list` 个数时遇到的,参考的是 (https://www.itophub.io/wiki/page ... ation:count-linkset)

加一些日志:
```
2024-01-25 17:54:04 | Info    | 1   | TransactionRecord oSet->Get use: 13.4 | Houseinfo |||
2024-01-25 17:54:04 | Info    | 1   | TransactionRecord oSet->Get use: 0 | Houseinfo |||
2024-01-25 17:54:04 | Info    | 1   | TransactionRecord UpdateRemote:DBUpdate use: 13.48 | Houseinfo |||
```

可以看到

1. 读取 `xxx_list` 属性时很慢(和详情页加载慢一样的问题,数据太多)。
2. `ComputeValues` 被调用了两次


admin 发表于 2024-1-25 23:06:55

解决方案是避免读取这个属性。。
页: [1]
查看完整版本: AttributeLinkedSet对象过多导致的性能下降