干掉那个敲代码的 2021-08-27 17:02 采纳率: 40%
浏览 77
已结题

sql字符串分割,在数据量大的情况下如何快速高效切割?

1、在数据库sql中如何切割字符串的时候,高效且快,数据量大,字段中逗号分割的部门id,如果使用递归函数超出一定之后就会很慢。如图:

img

2、我使用的是以下sql:

select distinct id,LEVEL,replace(regexp_substr(dptid,'[^,]+',1,level),',',' ') dptid
from  user
connect BY LEVEL<=length(dptid)-length(replace(dptid,',',''))+1
order by id,LEVEL

但是这种sql最大的问题就是如果字段中id 20-30条的时候,并且数据条数很多的话,那么这种递归函数就会卡死,查不出来。如图:

img

这种情况的话,他就分割不出来,数据小的话还是可以,请问有什么函数可以高效,并且需要考虑数据量很多的情况下,很快的切割出来。需要达到上面效果图, id 对应起来。

注:提供的方法一经测试可以使用,既采纳!

  • 写回答

2条回答 默认 最新

  • poe咸鱼 2021-08-27 17:06
    关注

    我觉得哈,为什么要用sql去做功能呢,查询出来使用其他语言来做不是很轻松得事情嘛?

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 8月30日
  • 创建了问题 8月27日

悬赏问题

  • ¥15 单纯型python实现编译报错
  • ¥15 c++2013读写oracle
  • ¥15 c++ gmssl sm2验签demo
  • ¥15 关于模的完全剩余系(关键词-数学方法)
  • ¥15 有没有人懂这个博图程序怎么写,还要跟SFB连接,真的不会,求帮助
  • ¥15 PVE8.2.7无法成功使用a5000的vGPU,什么原因
  • ¥15 is not in the mmseg::model registry。报错,模型注册表找不到自定义模块。
  • ¥15 安装quartus II18.1时弹出此error,怎么解决?
  • ¥15 keil官网下载psn序列号在哪
  • ¥15 想用adb命令做一个通话软件,播放录音