- 
                Notifications
    You must be signed in to change notification settings 
- Fork 62
Disable FilterEagerLoadingsExtension for better performance #6720
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
Disable FilterEagerLoadingsExtension for better performance #6720
Conversation
| ⛔ Feature branch deployment currently inactive.If the PR is still open, you can add the  | 
| Measurement of Prod-DB: Old: 1 - 4 SekSELECT
	...
FROM
	CATEGORY C0_
	INNER JOIN CAMP C1_ ON C0_.CAMPID = C1_.ID
	LEFT JOIN CATEGORY_CONTENTTYPE C8_ ON C0_.ID = C8_.CATEGORY_ID
	LEFT JOIN CONTENT_TYPE C2_ ON C2_.ID = C8_.CONTENTTYPE_ID
	INNER JOIN CONTENT_NODE C3_ ON C0_.ROOTCONTENTNODEID = C3_.ID
	AND C3_.STRATEGY IN ('columnlayout')
	LEFT JOIN CONTENT_NODE C4_ ON C3_.ROOTID = C4_.ID
	AND C4_.STRATEGY IN ('columnlayout')
	LEFT JOIN CONTENT_NODE C5_ ON C3_.PARENTID = C5_.ID
	AND C5_.STRATEGY IN ('contentnode', 'columnlayout', checklistnode', 'storyboard', 'responsivelayout', 'singletext', 'materialnode', 'multiselect')
	LEFT JOIN CONTENT_NODE C6_ ON C3_.ID = C6_.PARENTID
	AND C6_.STRATEGY IN ('contentnode', 'columnlayout', checklistnode', 'storyboard', 'responsivelayout', 'singletext', 'materialnode', 'multiselect')
	INNER JOIN CONTENT_TYPE C7_ ON C3_.CONTENTTYPEID = C7_.ID
WHERE
	C0_.ID IN (
		SELECT
			C9_.ID
		FROM
			CATEGORY C9_
			INNER JOIN CAMP C10_ ON C9_.CAMPID = C10_.ID
		WHERE
			C10_.ID = '882ef43cb000'
	)
	AND C0_.CAMPID IN (
		SELECT
			V11_.CAMPID AS SCLR_89
		FROM
			VIEW_USER_CAMPS V11_
		WHERE
			V11_.USERID = '8b3d14421000'
	)
ORDER BY
	C0_.CREATETIME DESC,
	C1_.ID ASC,
	C0_.SHORT ASC,
	C2_.NAME ASC;New: ~80msSELECT
	...
FROM
	CATEGORY C0_
	INNER JOIN CAMP C1_ ON C0_.CAMPID = C1_.ID
	LEFT JOIN CATEGORY_CONTENTTYPE C8_ ON C0_.ID = C8_.CATEGORY_ID
	LEFT JOIN CONTENT_TYPE C2_ ON C2_.ID = C8_.CONTENTTYPE_ID
	INNER JOIN CONTENT_NODE C3_ ON C0_.ROOTCONTENTNODEID = C3_.ID
	AND C3_.STRATEGY IN ('columnlayout')
	LEFT JOIN CONTENT_NODE C4_ ON C3_.ROOTID = C4_.ID
	AND C4_.STRATEGY IN ('columnlayout')
	LEFT JOIN CONTENT_NODE C5_ ON C3_.PARENTID = C5_.ID
	AND C5_.STRATEGY IN ('contentnode', 'columnlayout', checklistnode', 'storyboard', 'responsivelayout', 'singletext', 'materialnode', 'multiselect')
	LEFT JOIN CONTENT_NODE C6_ ON C3_.ID = C6_.PARENTID
	AND C6_.STRATEGY IN ('contentnode', 'columnlayout', checklistnode', 'storyboard', 'responsivelayout', 'singletext', 'materialnode', 'multiselect')
	INNER JOIN CONTENT_TYPE C7_ ON C3_.CONTENTTYPEID = C7_.ID
WHERE
	C0_.CAMPID = '882ef43cb000'
	AND C0_.CAMPID IN (
		SELECT
			V11_.CAMPID AS SCLR_89
		FROM
			VIEW_USER_CAMPS V11_
		WHERE
			V11_.USERID = '8b3d14421000'
	)
ORDER BY
	C0_.CREATETIME DESC,
	C1_.ID ASC,
	C0_.SHORT ASC,
	C2_.NAME ASC; | 
| Maybe judging by the name it allows to filter by some eager loaded relation? E.g. /camps/1a2b3c4d/categories?filter[color]=ff0000 or /camps/1a2b3c4d/activities?filter[category.color]=ff0000 or something similar? | 
59a1b33    to
    250bfa3      
    Compare
  
    | @BacLuc | 
| 
 of course: BacLuc@b8c0f26 | 
| Core Meeting DecisionFilterEagerLoadingExtension is a bugfix for api-platform/core#944. We need to find a way to improve the current situation. e.g: 
 | 
It is not clear to me what the filter
FilterEagerLoadingsExtensionis supposed to do.In our case, it ensures that the endpoint
/camps/111/categoriesdoes not perform well.The filter rebuilds the SQL
from:
to: