mirror of
https://github.com/immich-app/immich.git
synced 2026-03-22 09:00:58 +03:00
fix: tune up the performance of the getByDayOfYear query. (#26495)
This commit is contained in:
@@ -123,13 +123,13 @@ with
|
|||||||
) as "year"
|
) as "year"
|
||||||
)
|
)
|
||||||
select
|
select
|
||||||
"a".*,
|
"a".*
|
||||||
to_json("asset_exif") as "exifInfo"
|
|
||||||
from
|
from
|
||||||
"today"
|
"today"
|
||||||
inner join lateral (
|
inner join lateral (
|
||||||
select
|
select
|
||||||
"asset".*
|
"asset"."id",
|
||||||
|
"asset"."localDateTime"
|
||||||
from
|
from
|
||||||
"asset"
|
"asset"
|
||||||
inner join "asset_job_status" on "asset"."id" = "asset_job_status"."assetId"
|
inner join "asset_job_status" on "asset"."id" = "asset_job_status"."assetId"
|
||||||
@@ -151,7 +151,6 @@ with
|
|||||||
limit
|
limit
|
||||||
$7
|
$7
|
||||||
) as "a" on true
|
) as "a" on true
|
||||||
inner join "asset_exif" on "a"."id" = "asset_exif"."assetId"
|
|
||||||
)
|
)
|
||||||
select
|
select
|
||||||
date_part(
|
date_part(
|
||||||
|
|||||||
@@ -404,7 +404,7 @@ export class AssetRepository {
|
|||||||
(qb) =>
|
(qb) =>
|
||||||
qb
|
qb
|
||||||
.selectFrom('asset')
|
.selectFrom('asset')
|
||||||
.selectAll('asset')
|
.select(['asset.id', 'asset.localDateTime'])
|
||||||
.innerJoin('asset_job_status', 'asset.id', 'asset_job_status.assetId')
|
.innerJoin('asset_job_status', 'asset.id', 'asset_job_status.assetId')
|
||||||
.where(sql`(asset."localDateTime" at time zone 'UTC')::date`, '=', sql`today.date`)
|
.where(sql`(asset."localDateTime" at time zone 'UTC')::date`, '=', sql`today.date`)
|
||||||
.where('asset.ownerId', '=', anyUuid(ownerIds))
|
.where('asset.ownerId', '=', anyUuid(ownerIds))
|
||||||
@@ -423,9 +423,7 @@ export class AssetRepository {
|
|||||||
.as('a'),
|
.as('a'),
|
||||||
(join) => join.onTrue(),
|
(join) => join.onTrue(),
|
||||||
)
|
)
|
||||||
.innerJoin('asset_exif', 'a.id', 'asset_exif.assetId')
|
.selectAll('a'),
|
||||||
.selectAll('a')
|
|
||||||
.select((eb) => eb.fn.toJson(eb.table('asset_exif')).as('exifInfo')),
|
|
||||||
)
|
)
|
||||||
.selectFrom('res')
|
.selectFrom('res')
|
||||||
.select(sql<number>`date_part('year', ("localDateTime" at time zone 'UTC')::date)::int`.as('year'))
|
.select(sql<number>`date_part('year', ("localDateTime" at time zone 'UTC')::date)::int`.as('year'))
|
||||||
|
|||||||
Reference in New Issue
Block a user