在1核1G的这种云服务器上用YUM方式安装了一个MSYQL
测试插入1万条数据,MyIsam插入为什么比Innodb慢,MyIsam用了10s,Innodb用1s。
插入脚本如下:BEGIN
set session autocommit=0;
truncate table t1;
set @starttime = unix_timestamp(current_timestamp());
set @i = 0;
set @num = 10000;
while @i<@num do
insert into t1(id1,id2,content) values(@i,@i,'aaa');
set @i = @i +1;
end while;
commit;
set @endime = unix_timestamp(current_timestamp());
select @endime - @starttime;
END表就id1,id2,content三个字段,两个int,一个varchar,实在是很奇怪
测试插入1万条数据,MyIsam插入为什么比Innodb慢,MyIsam用了10s,Innodb用1s。
插入脚本如下:BEGIN
set session autocommit=0;
truncate table t1;
set @starttime = unix_timestamp(current_timestamp());
set @i = 0;
set @num = 10000;
while @i<@num do
insert into t1(id1,id2,content) values(@i,@i,'aaa');
set @i = @i +1;
end while;
commit;
set @endime = unix_timestamp(current_timestamp());
select @endime - @starttime;
END表就id1,id2,content三个字段,两个int,一个varchar,实在是很奇怪
myisam不支持事务,innodb支持事务
5.7以后默认的数据引擎是innodb。根据你们的实际场景来选择。
你们使用场景为什么需要myisam?
我们场景是OLAP,不过8.0其实是建议使用innodb代替myisam,myisam可优化的余地很小
Innodb适合OLTP场景。
1. 选MySQL的话无脑用InnoDB。
2. 大量插入用bulk insert。MySQL下就是values后面跟多条记录。