Unless explicitly archived or deleted, the set of price lists (PL) in a PFX instance will grow over time. Also, a PL line item can be quite a heavy object in the underlying database. Hence any search requests for PL prices within a logic can get slower over time. Given that PLs generally get overriden overridden by newer versions, the current active set of PL line item items is generally not so big in comparison with the overriden overridden ones.
On one project, in order to improve the performance of the logic, a DL Data Logic job was put in place to ‘maintain’ a PA PriceAnalyzer table with the current set of ‘active’ prices coming out of PLs. The benefit is that this PA table has less items than the total of all PL line items. Then the logic can call PA PriceAnalyzer to get the current active price without needing the need to query the PLs.
Another approach could be to store the active PA prices within a PP Price Parameters table. The goal being to no longer is again not to have to query the PL data directly.