1. 这是InnoDB执行时间: mysql> call p3();
Query OK, 0 rows affected (12 min 2.08 sec)
2. 这是表结构: Table: t3
Create Table: CREATE TABLE `t3` (
`id` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
3. 这是p3的存储语句 begin
set @i=1;
while @i<10000 do
insert into t3 values(@i);
set @i=@i+1;
end while;
end 1. 这是MyISAM执行时间: mysql> call p4();
Query OK, 0 rows affected (0.23 sec)
2. 这是表结构: Table: t4MyISAM
Create Table: CREATE TABLE `t4MyISAM` (
`id` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8
3. 这是p4的存储语句 begin
set @i=1;
while @i<=10000 do
insert into t4MyISAM values(@i);
set @i=@i+1;
end while;
end
为什么InnoDB执行存储过程能这么慢呢???确实MyISAM引擎在执行写操作是很有优势的,但是为什么InnoDB执行存储过程能这么慢呢??? 正常情况下插入InnoDB也不会这么慢啊!!!
Query OK, 0 rows affected (12 min 2.08 sec)
2. 这是表结构: Table: t3
Create Table: CREATE TABLE `t3` (
`id` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
3. 这是p3的存储语句 begin
set @i=1;
while @i<10000 do
insert into t3 values(@i);
set @i=@i+1;
end while;
end 1. 这是MyISAM执行时间: mysql> call p4();
Query OK, 0 rows affected (0.23 sec)
2. 这是表结构: Table: t4MyISAM
Create Table: CREATE TABLE `t4MyISAM` (
`id` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8
3. 这是p4的存储语句 begin
set @i=1;
while @i<=10000 do
insert into t4MyISAM values(@i);
set @i=@i+1;
end while;
end
为什么InnoDB执行存储过程能这么慢呢???确实MyISAM引擎在执行写操作是很有优势的,但是为什么InnoDB执行存储过程能这么慢呢??? 正常情况下插入InnoDB也不会这么慢啊!!!
我就像问一下为什么插入10000条记录这也没多少啊!怎么用了12分钟,太慢了吧!
InnoDB默认是采用共享表空间,这个在分区的时候考虑,现在我只是存储了10000条记录而已,共享表空间影响不太大吧!是不是mysql的InnoDB在进行存储过程的时候,会进行以外的什么操作?导致mysql的InnoDB在进行存储过程的时候会很慢