In the Mergado team, we see our platform as a Swiss pen-knife for data feeds. Thanks to a large number of functionalities and experience of solving the cases on our support, we have realized over time that Mergado has entered a new era. To an era where we need to teach our users how to work with this Swiss knife effectively.
Learn how to use Mergado for its best performance with the new mini-series
In this series, we will focus on understanding the specific tasks in setting up your export. By acquiring this knowledge, you can set your exports efficiently. And together we will achieve what you and our team are trying to do — increase the performance of Mergado and your data processing.
Making queries to input values speeds up the processing of rules in Mergado
The mechanism of applying rules (and generally all Mergado) has a number of optimizations. One of them makes sure that when multiple rules are applied to input queries, such a set of rules can be processed at once — without having to store intermediate results between individual Mergado rules, and wasting time.
However, it is important to keep in mind that this optimization cannot always be used: Mergado has to assume that some rules are targeted to queries for output.
The “output” rules are not processed together with those “input” ones. Mergado must know the results of the previous rule before each “output” rule — because the previous rule changes the output values. Only on the basis of these output values can Mergado evaluate the “output” queries to learn which products to send to such a rule.
Therefore, if it is not strictly necessary, do not make the rules at the output queries, as this will circumvent the above optimization and thus the rules can be drastically slowed down. If it is appropriate in your situation, use “input” queries as much as possible. Such rules can then be processed in batches and thus significantly faster.
Practical example
Our support recently dealt with a case when rules were slowly applied in a large feed.
What was it about:
This client had dozens of transcription rules in his export, which were aimed at queries for output. However, each of these rules must be handled separately on output, which affects the overall speed of application of the rules.
How we solved it:
Our consultants reviewed the client’s export settings and found that most of the above-mentioned “output” queries work with the PRODUCTNAME element. However, this element was not changed by any previous rule — the input and output values of the PRODUCTNAME element were exactly the same when queries were made. Therefore, there was no reason for these queries to be made to “output”.
By moving these queries to input, our consultants have made these rules processing together and the application of the rules has become faster.