innodb 插入性能简单测试

create table


create table test(
   id INT NOT NULL AUTO_INCREMENT,
   title VARCHAR(32) NOT NULL,
   age int ,
   PRIMARY KEY ( id )
);

insert script



drop procedure if exists doWhile;
DELIMITER //  
CREATE PROCEDURE doWhile()   
BEGIN
DECLARE i INT DEFAULT 0; 
WHILE (i <= 100000) DO
    INSERT INTO `test` (title, age) values ("testasyousee", i);
    SET i = i+1;
END WHILE;
END//
DELIMITER ;
    
CALL doWhile(); 



ssd 用了 4 min 58 秒
hdd 用了 45 min

insert small

drop procedure if exists doWhile2;
DELIMITER //
CREATE PROCEDURE doWhile2()
BEGIN
DECLARE i INT DEFAULT 0;
WHILE (i <= 1000) DO
    INSERT INTO `test` (title, age) values ("testasyousee", i);
    SET i = i+1;
END WHILE;
END//
DELIMITER ;

CALL doWhile2();

ssd : 3 秒
hdd: 25 秒

结论

类型 100000 行 1000 行
ssd 4 min 58 秒 3 秒
hdd 45 min 25 秒
  • 本测试结果只有参考意义, 因为表结构中没有 text、blob 这些会导致 行-溢出数据 的结构, 也没有并发测试读写性能

innodb 插入性能简单测试

上一篇:数据库的增删改查


下一篇:Asp.Net Core中连接DB的方式