New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[PERF] product: Improve name_search performance #143543
[PERF] product: Improve name_search performance #143543
Conversation
b34222b
to
f50ccf9
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for this. It looks good to me*, although I'd like another one from the team to validate as I'm not an expert in sql.
*Could you better indent the sql query? (why is it on the right-hand side?)
f50ccf9
to
c0ef201
Compare
Done |
Issue: The name_search performance was highly inefficient with a high number of records. Analyze: The bottleneck came from the NOT IN search on the product_template. Fix: As a NOT IN is not efficient, an not exists must be used. Note: The ORM has to be bypassed has no "not exists" feature has been implemented yet. Benchmark: | # Input data | Before PR | After PR | |:-------------:|:----------:|:---------:| | 182386 | 15+ min | ~100 ms | | 29 | ~29 ms | ~28 ms | Related task: opw-3554133
3623419
to
4766bad
Compare
My bad for the ping then, we'll remove it for you :D |
oooh momma 🚀 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@robodoo delegate+
@robodoo r+ |
Issue: The name_search performance was highly inefficient with a high number of records. Analyze: The bottleneck came from the NOT IN search on the product_template. Fix: As a NOT IN is not efficient, an not exists must be used. Note: The ORM has to be bypassed has no "not exists" feature has been implemented yet. Benchmark: | # Input data | Before PR | After PR | |:-------------:|:----------:|:---------:| | 182386 | 15+ min | ~100 ms | | 29 | ~29 ms | ~28 ms | Related task: opw-3554133 closes #143543 Signed-off-by: Benjamin Hanquin (beha) <beha@odoo.com>
Hello @BHanq and Odoo Team (@Feyensv @awa-odoo @vava-odoo ) Thanks for the improvement. Have you identified any other bottleneck like this? Do you have any kind of performance roadmap that you can share with us? Thanks in advance :) |
Hello @ilebana Thanks for your interest in our work. We have no roadmap, you can check PRs starting with the [PERF] prefix. We works mainly based on ticket that Odoo's user open in our Helpdesk. So if you have bottleneck you would like to be fix, please open a ticket (https://www.odoo.com/help). We'll be glad to help you. Regards, |
@BHanq this pull request has forward-port PRs awaiting action (not merged or closed): |
Some tests on dynamic variants mechanism didn't pass on test without demo data due to odoo#143543. X-original-commit: 12fe740
Some tests on dynamic variants mechanism didn't pass on test without demo data due to odoo#143543. X-original-commit: 12fe740
Some tests on dynamic variants mechanism didn't pass on test without demo data due to odoo#143543. X-original-commit: 12fe740
Some tests on dynamic variants mechanism didn't pass on test without demo data due to odoo#143543. X-original-commit: 12fe740
Some tests on dynamic variants mechanism didn't pass on test without demo data due to odoo#143543. X-original-commit: 12fe740
Some tests on dynamic variants mechanism didn't pass on test without demo data due to odoo#143543. X-original-commit: 12fe740
Some tests on dynamic variants mechanism didn't pass on test without demo data due to odoo#143543. closes odoo#159818 X-original-commit: a949ae1 Signed-off-by: Benjamin Hanquin (beha) <beha@odoo.com>
Some tests on dynamic variants mechanism didn't pass on test without demo data due to odoo#143543. closes odoo#159933 X-original-commit: 12fe740 Signed-off-by: Benjamin Hanquin (beha) <beha@odoo.com>
Some tests on dynamic variants mechanism didn't pass on test without demo data due to odoo#143543. closes odoo#159709 Signed-off-by: Benjamin Hanquin (beha) <beha@odoo.com>
Issue: The name_search performance was highly inefficient with a high number of records. Analyze: The bottleneck came from the NOT IN search on the product_template. Fix: As a NOT IN is not efficient, an not exists must be used. Note: The ORM has to be bypassed has no "not exists" feature has been implemented yet. Benchmark: | # Input data | Before PR | After PR | |:-------------:|:----------:|:---------:| | 182386 | 15+ min | ~100 ms | | 29 | ~29 ms | ~28 ms | Related task: opw-3554133 closes odoo#143543 Signed-off-by: Benjamin Hanquin (beha) <beha@odoo.com>
Issue: The name_search performance was highly inefficient with a high number of records. Analyze: The bottleneck came from the NOT IN search on the product_template. Fix: As a NOT IN is not efficient, an not exists must be used. Note: The ORM has to be bypassed has no "not exists" feature has been implemented yet. Benchmark: | # Input data | Before PR | After PR | |:-------------:|:----------:|:---------:| | 182386 | 15+ min | ~100 ms | | 29 | ~29 ms | ~28 ms | Related task: opw-3554133 closes odoo#143543 Signed-off-by: Benjamin Hanquin (beha) <beha@odoo.com>
Issue:
The name_search performance was highly inefficient with a high number of records.
Analyze:
The bottleneck came from the NOT IN search on the product_template.
Fix:
As a NOT IN is not efficient, an not exists must be used.
Note:
The ORM has to be bypassed has no "not exists" feature has been implemented yet.
Benchmark:
Related task:
opw-3554133