加快 mysql 插入速度有哪些方式呢

2020-12-19 21:21:59 +08:00
 caiji11
3062 次点击
所在节点    Java
28 条回复
haosamax
2020-12-20 15:27:20 +08:00
change buffer
OldCarMan
2020-12-20 17:40:17 +08:00
@caiji11 个人猜测 楼上说的存储过程应该是类似这个( https://zhuanlan.zhihu.com/p/62626328 )的意思,不知道是不是你想要的。另外,自增主键存储过程中可以用 AUTO_INCREMENT,其他字段也想自增的话,可以使用序列。
YouLMAO
2020-12-20 22:30:31 +08:00
购买 spanner, 全球三地三中心三活
caiji11
2020-12-21 19:21:02 +08:00
@OldCarMan 我不是这样的 我用 java 做好逻辑判断之后拼接存入 因为日期处理 有点复杂 不过我发我的逻辑代码运行时间过长 也是问题
OldCarMan
2020-12-21 21:37:20 +08:00
@caiji11 我好奇,你用 java 这种方式批量导入随机数据的耗时是怎么样,我用我上面贴的例子,批量导入 20 万条(表结构 user(id,name,age))数据到我电脑虚拟机 mysql 容器花了 44 秒左右。
caiji11
2020-12-21 22:24:08 +08:00
@OldCarMan 很慢的 没有这么快 逻辑处理要耗费很多时间 做到可以自定义日期范围 以及一个表中几个日期之间的关系 如果没有自定义生成的话 出来的数据也不能用 主要考虑到这 所以没有用存储过程 用 go 会不会快些呢 哈哈
caiji11
2020-12-21 22:26:57 +08:00
@OldCarMan https://github.com/fcdml/MOCKSQL 工具地址 可以看看具体的实现
OldCarMan
2020-12-22 15:27:32 +08:00
@caiji11 嗯嗯,不过个人觉得如果只是想控制时间的范围,用存储过程也是可以实现的。比如使用 mysql 自带函数 DATE_ADD(date,INTERVAL expr type)之类的结合随机数函数生成一定范围的随机时间。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/737113

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX