优化书籍详情页;优化分组长SQL (#4596)

* 书籍详情页书名和分组信息过长时可滑动查看

* 书籍分组SQL优化
This commit is contained in:
niuhb
2025-02-01 22:06:22 +08:00
committed by GitHub
parent 9528cc5540
commit d7afa81841
2 changed files with 51 additions and 37 deletions
@@ -26,26 +26,29 @@ interface BookGroupDao {
@get:Query(
"""
with const as (SELECT sum(groupId) sumGroupId FROM book_groups where groupId > 0)
SELECT book_groups.* FROM book_groups, const
where (groupId >= 0 and show > 0 and exists (select 1 from books where `group` & book_groups.groupId > 0))
or (groupId = -1 and show > 0)
or (groupId = -2 and show > 0 and exists (select 1 from books where type & ${BookType.local} > 0))
or (groupId = -3 and show > 0 and exists (select 1 from books where type & ${BookType.audio} > 0))
or (groupId = -11 and show > 0 and exists (select 1 from books where type & ${BookType.updateError} > 0))
or (groupId = -4 and show > 0
and exists (
select 1 from books
where type & ${BookType.audio} = 0
and type & ${BookType.local} = 0
and const.sumGroupId & `group` = 0
SELECT book_groups.* FROM book_groups join const
where show > 0
and (
(groupId >= 0 and exists (select 1 from books where `group` & book_groups.groupId > 0))
or groupId = -1
or (groupId = -2 and exists (select 1 from books where type & ${BookType.local} > 0))
or (groupId = -3 and exists (select 1 from books where type & ${BookType.audio} > 0))
or (groupId = -11 and exists (select 1 from books where type & ${BookType.updateError} > 0))
or (groupId = -4
and exists (
select 1 from books
where type & ${BookType.audio} = 0
and type & ${BookType.local} = 0
and const.sumGroupId & `group` = 0
)
)
)
or (groupId = -5 and show > 0
and exists (
select 1 from books
where type & ${BookType.audio} = 0
and type & ${BookType.local} > 0
and const.sumGroupId & `group` = 0
or (groupId = -5
and exists (
select 1 from books
where type & ${BookType.audio} = 0
and type & ${BookType.local} > 0
and const.sumGroupId & `group` = 0
)
)
)
ORDER BY `order`"""