-
-
Notifications
You must be signed in to change notification settings - Fork 135
Open
Description
This is the endpoint with the worst performance.
Looking at DataDog, it takes on average 10 seconds.
Looking at the traces, the culprit are the queries performed by Doctrine to implement pagination.
SELECT DISTINCT s0_.id, s0_.created_at
FROM
sylius_order
s0_
INNER JOIN
sylius_customer
s1_ ON ( s0_.customer_id = s1_.id )
INNER JOIN
api_user
a2_ ON ( a2_.customer_id = s1_.id )
LEFT JOIN
sylius_order_event
s3_ ON s0_.id = s3_.aggregate_id
LEFT JOIN
sylius_order_item
s4_ ON s0_.id = s4_.order_id
LEFT JOIN
sylius_adjustment
s5_ ON s4_.id = s5_.order_item_id
LEFT JOIN
address
a6_ ON s0_.shipping_address_id = a6_.id
LEFT JOIN
sylius_customer
s7_ ON s0_.customer_id = s7_.id
WHERE s0_.id IN (
SELECT s8_.id
FROM
sylius_order
s8_
INNER JOIN
sylius_customer
s9_ ON ( s8_.customer_id = s9_.id )
INNER JOIN
api_user
a10_ ON ( a10_.customer_id = s9_.id )
WHERE a10_.id = ? AND s8_.state <> ?
)
ORDER BY s0_.created_at DESC
LIMIT ?
SELECT count ( DISTINCT s0_.id )
FROM
sylius_order
s0_
INNER JOIN
sylius_customer
s1_ ON ( s0_.customer_id = s1_.id )
INNER JOIN
api_user
a2_ ON ( a2_.customer_id = s1_.id )
LEFT JOIN
sylius_order_event
s3_ ON s0_.id = s3_.aggregate_id
LEFT JOIN
sylius_order_item
s4_ ON s0_.id = s4_.order_id
LEFT JOIN
sylius_adjustment
s5_ ON s4_.id = s5_.order_item_id
LEFT JOIN
address
a6_ ON s0_.shipping_address_id = a6_.id
LEFT JOIN
sylius_customer
s7_ ON s0_.customer_id = s7_.id
WHERE s0_.id IN (
SELECT s8_.id
FROM
sylius_order
s8_
INNER JOIN
sylius_customer
s9_ ON ( s8_.customer_id = s9_.id )
INNER JOIN
api_user
a10_ ON ( a10_.customer_id = s9_.id )
WHERE a10_.id = ? AND s8_.state <> ?
)
It seems possible to disable the usage of DISTINCT
Reactions are currently unavailable