Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

分类字典数据量过多会造成数据查询时间过长,显示“接口请求超时,请刷新页面重试!” #4550

Closed
tsgdnwxg opened this issue Feb 10, 2023 · 5 comments

Comments

@tsgdnwxg
Copy link

版本号:3.4.4
前端版本:vue3版
问题描述:分类字典中创建了两个分类,一个是职称,一个是专业代码,职称中添加了51个二级分类,专业代码添加了27个二级分类,每个二级分类中一般有5个左右的三级分类。这时再添加二级分类后显示“接口请求超时,请刷新页面重试!”,删除分类正常。将日志级别调整为debug后发现,在创建每个二级分类时,会通过sql查询前面所有的数据,应该是这个地方造成了查询时间过长,还麻烦大佬确认和进行优化
截图&代码:附件中是分类字典,大佬可以导入测试一下

QQ截图20230210203112
QQ截图20230210203136
sys_category.txt

友情提示(为了提高issue处理效率):

  • 未按格式要求发帖,会被直接删掉;
  • 描述过于简单或模糊,导致无法处理的,会被直接删掉;
  • 请自己初判问题描述是否清楚,是否方便我们调查处理;
  • 针对问题请说明是Online在线功能(需说明用的主题模板),还是生成的代码功能;
@newcardriver
Copy link

经过所提供的分类字典数据做了一下测速,dev环境,本地MySQL 8.0 ,分类字典数据总计:378条,以下是测试响应结果。
image

接口请求速度:
image

暂未发现会有接口请求超时的情况,可能需要检查一下开发环境。

@tsgdnwxg
Copy link
Author

的确,我这两天也做了测试,发现问题在于我使用了远程数据库,刚才切换到本地数据库环境就可以了。但是触发大量查询的情况依然存在,这个查询只有在分类字典维护页面存在,在online中引用分类字典不会触发。我大概看了下分类字典的源码,每次都是把整个sys_category中的数据全部查出来进行校验的,但是查询是分条进行的,sys_category中有多少数据就查询几次,是否可以一次性查询出来放到集合中校验,效率更高一些。

@newcardriver
Copy link

数据量太大了确实可能会有这个情况,如果影响太大的话可以像你说的一样直接改源码一次性查出来组装数据,但单独查也可能是有其他引用着,可能要看一下。

@tsgdnwxg
Copy link
Author

有可能是其它地方有引用。目前我使用本地数据库加了将近500多条数据,速度还算可以,我的总数据量估算是1000多条,看能不能顺利加完。估计像我这样用远程数据库添加这么多分类字典数据的比较少

@lsqGitHub716
Copy link

已修改

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants