We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
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
user
エンティティを packMany する際、単純に pack に map している .*EntityService が複数あります。
packMany
pack
map
.*EntityService
misskey/packages/backend/src/core/entities/AbuseUserReportEntityService.ts
Lines 53 to 58 in eaadd64
この際 pack 内で UserEntityService.pack が呼び出されている場合、キャッシュが効かない最悪の場合には packMany に渡される配列の要素数回 user テーブルからの SELECT クエリが走ることになります。
UserEntityService.pack
SELECT
Lines 32 to 50 in eaadd64
#13550 で UserEntityService.packMany が最適化されたので、このようなケースでは単純に map するのではなく、前段で packMany を呼び出して1回のクエリで済ませた上でそれを pack に渡すほうがより適切だと思われます。
UserEntityService.packMany
パフォーマンスの向上
The text was updated successfully, but these errors were encountered:
Successfully merging a pull request may close this issue.
Summary
エンティティを
packMany
する際、単純にpack
にmap
している.*EntityService
が複数あります。misskey/packages/backend/src/core/entities/AbuseUserReportEntityService.ts
Lines 53 to 58 in eaadd64
この際
pack
内でUserEntityService.pack
が呼び出されている場合、キャッシュが効かない最悪の場合にはpackMany
に渡される配列の要素数回user
テーブルからのSELECT
クエリが走ることになります。misskey/packages/backend/src/core/entities/AbuseUserReportEntityService.ts
Lines 32 to 50 in eaadd64
#13550 で
UserEntityService.packMany
が最適化されたので、このようなケースでは単純にmap
するのではなく、前段でpackMany
を呼び出して1回のクエリで済ませた上でそれをpack
に渡すほうがより適切だと思われます。Purpose
パフォーマンスの向上
Do you want to implement this feature yourself?
The text was updated successfully, but these errors were encountered: