编辑
OP在下面的回答中分析PostgreSQL时承认了一个错误.我正在更新此问题以反映MyISAM和InnoDB之间的比较.
你好,
我针对MySQL InnoDB,MyISAM和PostgreSQL进行了测试,看看这些引擎在执行全表扫描时的表现如何,以便了解对于我们不可避免地需要发生这种情况的响应时间.
测试是在Intel Core 2 Quad Q6600 @ 2.4Ghz w/4GB RAM和7200 RPM HD(16MB缓存)上进行的.
MySQL版本为5.0.67-community-nt-log 32位,PGSQL版本为8.4.
我写了一个小脚本,在4列表中生成500万行数据.这些是MySQL和PGSQL中使用的create table语句:
- InnoDB
CREATE TABLE sample_innodb (
id integer unsigned not null,
vc1 varchar(200) not null,
vc2 varchar(200) not null,
vc3 varchar(200) not null
) ENGINE=InnoDB;
Run Code Online (Sandbox Code Playgroud)
- MyISAM
CREATE TABLE sample_isam (
id integer unsigned not null,
vc1 varchar(200) not null,
vc2 varchar(200) not null,
vc3 varchar(200) not null
) ENGINE=MyISAM;
Run Code Online (Sandbox Code Playgroud)
- PostgreSQL
create table sample_pgsql (
id integer not null, …Run Code Online (Sandbox Code Playgroud)