Skip to content
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

Optimize the queries for product list in the dashboard #4995

Merged
merged 2 commits into from
Nov 21, 2019

Conversation

IKarbowiak
Copy link
Member

@IKarbowiak IKarbowiak commented Nov 20, 2019

Reduce number of queries for product list to 66.
Closes #4793

Pull Request Checklist

  1. Privileged views and APIs are guarded by proper permission checks.
  2. All visible strings are translated with proper context.
  3. All data-formatting is locale-aware (dates, numbers, and so on).
  4. Database queries are optimized and the number of queries is constant.
  5. Database migration files are up to date.
  6. The changes are tested.
  7. GraphQL schema and type definitions are up to date.
  8. Changes are mentioned in the changelog.

@IKarbowiak IKarbowiak added performance graphql Issues related to the GraphQL API labels Nov 20, 2019
@IKarbowiak IKarbowiak self-assigned this Nov 20, 2019
@IKarbowiak IKarbowiak force-pushed the optimize-queries-for-product-list branch from 24893ff to 708d49c Compare November 21, 2019 08:20
@IKarbowiak IKarbowiak force-pushed the optimize-queries-for-product-list branch from 708d49c to d98bb13 Compare November 21, 2019 08:23
@codecov
Copy link

codecov bot commented Nov 21, 2019

Codecov Report

Merging #4995 into master will increase coverage by <.01%.
The diff coverage is 100%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master    #4995      +/-   ##
==========================================
+ Coverage   91.19%   91.19%   +<.01%     
==========================================
  Files         351      351              
  Lines       21399    21403       +4     
  Branches     2042     2044       +2     
==========================================
+ Hits        19514    19518       +4     
  Misses       1329     1329              
  Partials      556      556
Impacted Files Coverage Δ
saleor/graphql/product/types/products.py 91.2% <100%> (+0.08%) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 2d06516...9d59db9. Read the comment docs.

Copy link

django-queries commented Nov 21, 2019

Here is the report for 9d59db9 (mirumee/saleor @ optimize-queries-for-product-list)
Base comparison is 2d06516.

**Found 1 differences!** (click me)

# api.benchmark checkout
  test name                                  	left count 	right count	duplicate count
  -------------------------------------------	-----------	-----------	---------------
  add billing address to checkout            	         34	         34	             20
  add shipping to checkout                   	          7	          7	              0
  checkout payment charge                    	         14	         14	              0
  complete checkout                          	          8	          8	              0
  create checkout                            	         50	         50	             24

# api.benchmark homepage
  test name                                  	left count 	right count	duplicate count
  -------------------------------------------	-----------	-----------	---------------
  retrieve main menu                         	          5	          5	              0
  retrieve product list                      	          4	          4	              0
  retrieve secondary menu                    	          5	          5	              0
  retrieve shop                              	          2	          2	              0

# api.benchmark product
  test name                                  	left count 	right count	duplicate count
  -------------------------------------------	-----------	-----------	---------------
  product details                            	         15	         15	              3
+ retrieve product attributes                	         13	          9	              0

# api.benchmark variant
  test name                                  	left count 	right count	duplicate count
  -------------------------------------------	-----------	-----------	---------------
  product variant bulk create                	         51	         51	              3
  retrieve variant list                      	         15	         15	              6

# api product sorting attributes
  test name                                  	left count 	right count	duplicate count
  -------------------------------------------	-----------	-----------	---------------
  sort product not having attribute data     	         21	         21	              0

@maarcingebala maarcingebala merged commit aec8d5c into master Nov 21, 2019
@maarcingebala maarcingebala deleted the optimize-queries-for-product-list branch November 21, 2019 11:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
graphql Issues related to the GraphQL API performance
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Optimize queries for product list in the dashboard
4 participants