您好,匿名用户
随意问技术百科期待您的加入

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

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字段索引。

用户头像 提问 2012年 12月1日 @ Fizz 上等兵 (325 威望)
分享到:

1个回答

0 投票

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

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

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

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

用户头像 回复 2012年 12月1日 @ Cho'Gath 上等兵 (267 威望)
提一个问题:

相关问题

0 投票
1 回复 34 阅读
用户头像 提问 2012年 12月1日 @ Tryndamere 上等兵 (325 威望)
+2 投票
1 回复 262 阅读
用户头像 提问 2012年 12月25日 @ Talon 上等兵 (294 威望)
0 投票
1 回复 42 阅读
用户头像 提问 2013年 11月6日 @ Ahri 上等兵 (292 威望)
0 投票
1 回复 39 阅读
用户头像 提问 2012年 12月1日 @ Karthus 上等兵 (227 威望)
0 投票
1 回复 22 阅读
用户头像 提问 2012年 12月1日 @ Xerath 上等兵 (312 威望)

欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。
温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。

欢迎访问随意问技术百科,为了给您提供更好的服务,请及时反馈您的意见。
...