👉 这是一个或许对你有用的社群
🐱 一对一交流/面试小册/简历优化/求职解惑,欢迎加入「芋道快速开发平台」知识星球。下面是星球提供的部分资料:
👉这是一个或许对你有用的开源项目
国产 Star 破 10w+ 的开源项目,前端包括管理后台 + 微信小程序,后端支持单体和微服务架构。
功能涵盖 RBAC 权限、SaaS 多租户、数据权限、商城、支付、工作流、大屏报表、微信公众号、CRM 等等功能:
- Boot 仓库:https://gitee.com/zhijiantianya/ruoyi-vue-pro
- Cloud 仓库:https://gitee.com/zhijiantianya/yudao-cloud
- 视频教程:https://doc.iocoder.cn
【国内首批】支持 JDK 21 + SpringBoot 3.2.2、JDK 8 + Spring Boot 2.7.18 双版本
来源:juejin.cn/post/
7407304950349676554
最近我惊奇地发现IDEA执行大文件sql竟然比专业的Navicat效率高很多!反常识有木有!
前提:我有一些大文件sql需要执行,如下,最大的文件有1.83G:
至于为什么要执行这么大的文件,因为迁移数据库数据,数据库之间网络不通,不能直接迁移。故先导出sql,复制到对应环境中再执行sql。
起初我使用的Navicat导入数据,先执行的小文件试水,当执行90.1M的文件时,明显卡顿,电脑发热,cpu高占用率高,程序卡死(navica卡死,看不到导入进度),如下图:
- Navicat: 运行100M左右的sql,14分钟后卡死,看不到执行进度
- kernel_task: 电脑发热或线程调度繁忙时mac系统自带的任务管理工具,尝试改善发热和调度。我用手摸确实电脑非常烫。需要用小风扇对着吹才能维持电脑中等温度。
- OrbStack Helper: 容器管理工具,类似于Docker,据说比Docker轻。我要迁移的目标库使用的OrbStack生成的mysql容器
总结:它们三者累计占用cpu 194.6+118.9+54.5=368,执行90.1M的sql执行完成时间为20.5分钟,执行效率为4.4M/min,执行sql时会卡死
基于 Spring Boot + MyBatis Plus + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能
- 项目地址:https://github.com/YunaiV/ruoyi-vue-pro
- 视频教程:https://doc.iocoder.cn/video/
尝试用IDEA自带的数据库管理工具执行大sql。以下是执行98.8M的sql时的情况:
- kernel_task: cpu占用只有前面数据的40%左右,电脑不使用风扇亦能保持中等温度。
- OrbStack Helper: 跟前面的数据接近,符合常理。
- IDEA: cpu占用只有44,对比前面的Navicat 194.6,约为前面的22.6%。IDEA执行时cpu占用情况大幅优于cavicat。执行时间为17分钟,执行效率为5.8M/min,对比前面的效率4.4M/min,效率提升32%,即执行大文件sql的执行效率IDEA也优于navicat!此外,IDEA并未卡死!
总结:它们三者累计占用cpu 49.6+47.3+44.0=140.6, 执行98.8M的sql执行时间为17分钟,执行效率为5.8M/min,执行sql不会卡死!
基于 Spring Cloud Alibaba + Gateway + Nacos + RocketMQ + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能
- 项目地址:https://github.com/YunaiV/yudao-cloud
- 视频教程:https://doc.iocoder.cn/video/
执行结果如下:
总结:cpu占用率同前,占比不高,cpu占用约140,执行1.83G的sql执行时间为1小时19分,执行效率为23.47M/min,效率又提升了300%,即文件越大执行效率越高,执行sql也没有卡死!。
1)cpu占用: 也许Navicat执行时采用了多线程,画蛇添足,IDEA未采用多线程,不会触发线程保护机制,也不会有线程管理的消耗,反而cpu占用更低。
2)执行效率: Navicat默认每条sql执行完成后(成功or失败),一条条打印结果,增大了消耗,而IDEA在insert时是1000条sql执行完成后才打印一条结果,消耗没那么多
欢迎加入我的知识星球,全面提升技术能力。
👉 加入方式,“长按”或“扫描”下方二维码噢:
星球的内容包括:项目实战、面试招聘、源码解析、学习路线。
文章有帮助的话,在看,转发吧。
谢谢支持哟 (*^__^*)