mysql In长度的问题?-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

mysql In长度的问题?

2016-07-04 17:36:07 2450 1

业务逻辑中常有这样的情况:
得到某一个无限分类下面的全部文章。

统计某一账号下面店铺的全部订单。

经常会用到article: in (cid,……),
order: in (shop_id,……)

如果某个分类下面有很多很多子分类,总之很多很多,可能无限,某一个账号下面也有n个店铺,那么in ()不撑死了啊,sql长度不能很大吧

不知道对于这种情况有没有什么好的方法,项目中很多地方都是这样用in (),从来没有考虑过这个问题,今天突然想到了,意识到了这个问题,不知道有没有好的优化方式。

在线等大神,谢谢了!

取消 提交回答
全部回答(1)
  • a123456678
    2019-07-17 19:50:59

    不记得有代替in的语句,可能也是因为我不太关注sql导致水平较低哈。
    这种问题通常是由于无限分类表本身的设计问题导致的,例如只有id, parent_id两个字段,所以只要in了,如果无限分类表包含 id, parent_id, level(树高), path这个字段的时候就可以避免使用in了。

    我个人使用的一个无限分级表包括以下的字段
    id 唯一索引
    parent_id 父级的id
    number 数轴投影序号
    leve 树高
    left_number 已当前节点为树根时,其下的最左端的子节点的数轴投影序号
    一个简单的例子演变:

    [id:1, level:1 number: 1, left_number:1]
    插入一个子节点

    [id:1, level:1 number: 2, left_number:1]
    [id:2, level:2 number: 1, left_number:1]
    于level2再插入一个子节点

    [id:1, level:1 number: 3, left_number:1]
    [id:2, level:2 number: 1, left_number:1] [id:2, level:2 number: 2, left_number:2]

    这种树形的数据维护很麻烦,但是搜索要快的多,例如任意节点下的全部子节点就是left_number到number-1。用这个做过一个Chuan啊销系统的人员结构树,效果很不错。

    核心思路就是把一颗树的分支转换为数轴上的点/线段,从而在数轴上得到完整的树的投影。

    忘了一个top_id,表示节点对应的根节点,否则表里面有多颗树的话就出问题了。

    0 0
相关问答

4

回答

Spark 【问答合集】

社区小助手 2019-05-29 14:13:40 127161浏览量 回答数 4

18

回答

【大咖问答】对话PostgreSQL 中国社区发起人之一,阿里云数据库高级专家 德哥

阿里ACE 彭飞 2019-07-10 09:36:10 1040508浏览量 回答数 18

145

回答

【新手入门】云服务器linux使用手册

fanyue88888 2012-11-26 17:14:18 157705浏览量 回答数 145

8

回答

OceanBase 使用动画(持续更新)

mq4096 2019-02-20 17:16:36 337020浏览量 回答数 8

38

回答

[@饭娱咖啡][¥20]对于慢sql有没有什么比较实用的诊断和处理方法?

江小白太白 2018-10-30 18:47:38 142075浏览量 回答数 38

2

回答

mySQL数据库报错You have an error in your SQL syntax

落地花开啦 2016-02-14 16:09:24 128926浏览量 回答数 2

38

回答

安全组详解,新手必看教程

我的中国 2017-11-30 15:23:46 259847浏览量 回答数 38

249

回答

阿里云LNAMP(Linux + Nginx + Apache + MySQL + PHP)环境一键安装脚本

云代维 2014-02-14 15:26:06 305645浏览量 回答数 249

97

回答

Redhat/CentOS一键安装web环境全攻略

xiaofanqie 2011-08-11 14:51:38 123708浏览量 回答数 97

2

回答

区域选择帮助

fanyue88888 2012-12-07 15:54:30 204397浏览量 回答数 2
+关注
0
文章
14879
问答
问答排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载