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 这些会导致 行-溢出数据 的结构, 也没有并发测试读写性能