跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 请教在不固定分类的情况下多选分类该如何更好的查询?
未分類
15 2 月 2021

请教在不固定分类的情况下多选分类该如何更好的查询?

请教在不固定分类的情况下多选分类该如何更好的查询?

資深大佬 : zjttfs 3

需求: 动态增减分类(2 级),音乐可以选择 0-n 个分类,用户可以选择 0-n 个分类来筛选结果.

我现在设计的表结构为:

分类表 cate

请教在不固定分类的情况下多选分类该如何更好的查询?

音乐表 sound

请教在不固定分类的情况下多选分类该如何更好的查询?

音乐的分类表 sound_cate

请教在不固定分类的情况下多选分类该如何更好的查询?

想请教下这样的表结构是否合理,是否有更好的方式? 然后我该怎么查询效率较高?

我现在用的子查询来查询,但效率实在太低了.

SELECT id,title from sound   where  status=50   and  (SELECT count(id) from sound_cate where sound_id=sound.id and cate_id in (8,1,9,14))=3  order by id desc 

大佬有話說 (6)

  • 資深大佬 : xuanbg

    你这个多对多的不适合用分类,用 tag 更好。

  • 主 資深大佬 : zjttfs

    @xuanbg 还有一个 tag 字段和 tag 相关的表, 我没有列出来.
    现在需求这样,我也很头疼..

  • 資深大佬 : zhuangjia

    (SELECT count(id) from sound_cate where sound_id=sound.id and cate_id in (8,1,9,14))=3

    这个条件是要实现什么需求

  • 主 資深大佬 : zjttfs

    @zhuangjia
    这里写的有点问题,
    应该是
    (SELECT count(id) from sound_cate where sound_id=sound.id and cate_id in (8,1,9,14))=4

    找出含有分类 8,1,9,14 的音乐

  • 資深大佬 : zhuangjia

    @zjttfs 200 多点击了,再等等看有没有人来优化 orz

  • 主 資深大佬 : zjttfs

    @zhuangjia sound_cate 做下 sound_id 与 cate_id 的联合索引 , 性能也还可以.
    但感觉效率不是很高,暂时还没有做大数据下的负载测试

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具