码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 将主键ID用括号包括 以字符串的方式进行存储 查询的技巧


    将主键ID用括号包括 以字符串的方式进行存储 查询的技巧
    先说业务场景,像打标签的功能,大部分系统都会有这样的功能,那么当系统中很多功能模块的实体都需要打标签,我们一般会采用在实体中存储标签表中的主键ID,一般业务场景中,一个实体是允许打上很多标签的,那么问题就来了,这个时候一个实体就要求关联标签表中的多个主键ID了,应对这个问题,有两种的方案可以选择.一是建立中间映射表,当实体对象上打一个标签,就在中间表上记录一条实体主键ID与标签ID的映射关系,方案二是在实体类表上将添加的多个ID以字符串的方式进行存储.
    这样确实可以解决一对多的场景,但是当我们需要对实体进行分页查询,实体类上的属性不可避免的要作为分页的筛选条件了,当标签作为筛选条件,问题就来了,需要联表查询进行分页,想必大家都知道,在大数据量的应用场景中,不建议分页进行联表操作,因为联表会导致分页查询效率低下.而方案二刚好可以进行单表分页,接下来记录一下采用方案二的查询操作如何进行.

    1.标签数据的插入
    上述采用方案二,存在一个问题,就是在实体类表上将添加的多个ID以字符串的方式进行存储,那么多个ID之间如何分割呢?
    方案一:想必大家脑海中第一反应就是采用逗号分割,如下所示

    1,2,3,4,5,6,7,8,9,10,11......
    
    • 1

    采用这种方式,对一到多个标签ID进行查询时,使用LIKE,REGEXP,如下所示

    t.label_ids REGEXP #{
       labelIds}
    
    • 1
    • 2

    或

    BINARY t.course_name LIKE 
    • 相关阅读:
      Antd Procomponent 之 proForm - 高级表单
      StretchBlt()、Bitblt用法详解
      论文翻译:2021_LACOPE: Latency-Constrained Pitch Estimation for Speech Enhancement
      【游戏专区】飞机大战
      sql语句,分组后,组内根据datetime字段排序,保留日期最新的一条组内记录,删除其他项。(用于组内重复数据的剔除)
      FastJson2.0介绍和使用
      elasticsearch 7.7.0 单节点配置x-pack
      Cent OS 使用ip addr or nmcli 分配临时IP地址
      effective c++ 41 隐式接口和编译器多态
      Linux下shell编写脚本指南
    • 原文地址:https://blog.csdn.net/weixin_44874132/article/details/128170057
    • 最新文章
    • 沪漂五周年了:我越来越迷茫了
      Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
      MySQL-Seconds_behind_master的精度误差
      [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
      AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
      Agent OS :五种驯服不确定性的范式
      PortSwigger SQL注入LAB11
      数据库即时编译JIT
      [Begin]AI Learn Data Day 0
      深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
    • 热门文章
    • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
      奉劝各位学弟学妹们,该打造你的技术影响力了!
      五年了,我在 CSDN 的两个一百万。
      Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
      面试官都震惊,你这网络基础可以啊!
      你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
      心情不好的时候,用 Python 画棵樱花树送给自己吧
      通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
      13 万字 C 语言从入门到精通保姆级教程2021 年版
      10行代码集2000张美女图,Python爬虫120例,再上征途
    小工具 小游戏
    Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

    京公网安备 11010502049817号