MySQL中InnoDB load data以及select是不是很慢

发布于 2022-08-23 23:04:05 字数 448 浏览 16 评论 0

需要在MySQL建表插入近100万的数据,主要用于select操作。
由于没怎么用过数据库,平时也就几百条记录了不得了,就先我在自己的机子上试了下(ubuntu),load data 导入进去也就10来秒。然后换到服务器windows平台上,用的是安装版的mysql。结果load data 需要6分多种,select也很慢。一直以为是windows的问题,但在自己的windows平台上虽然慢了点,也在20秒以内。
creat table都一样,我一直不知道是什么地方的原因。刚才show create table 看了下,发现区别主要在engine上。安装版本的默认引擎是InnoDB。
我就回ubuntu指定了InnoDB,也成了6分多种- -
虽然之前也听说过InnoDB因为事务和日志要慢点,但差这么多还是有问题的吧,大大给解释啊。
表是7个字段,主要是int和varcha。1个primary,一个3字段索引。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

隱形的亼 2022-08-30 23:04:05

看错题目了。。。我错了,修改一下

论写性能,innodb确实要低于myisam,写的时候innodb性能消耗主要两方面:事务提交和写日志。
但load data时,这两个都不存在,整个load data是一个事务,完成后会提交,也就没有回滚日志。之所以比myisam慢是因为做数据合法性的检查。
如果你不是100万数据一次性导入,而是分几次,每次数据量递增,可以看出:myisam的平均导入速度,不随数据量增加而下降,是稳定的,而innodb则会随数据量增加而下降。

----- 羞涩的分割线 -----

我用innodb的主要原因是他的写稳定,如果你写很少,建议用myisam,myisam在独性能上高于innodb。
一般对于读写要求都很高的,我建议做主从,主:innodb,担负读写;从:myisam,只读。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文