测试环境如下
CPU:PD 940 双核
MEM:4GB
测试数据:300w 行,my.cnf 经过设计,确保所有的索引都被加载到了内存
Linux:SUSE Linux Enterprise Server 10 SP1 amd64
MySQL:
1) SUSE 自带的 5.0.26;
2) MySQL 网站上下载的 MySQL-server-community-5.0.45-0.sles10.x86_64.rpm
SQL:见下
测试结果:
1) MySQL 官方版本的用时:0.30s
2) SUSE 自带的用时:0.19s
3) 效率提升 1/3
令人惊讶的数据,不知道SUSE 都干啥了
CREATE TABLE t_test (
ID unsigned NOT NULL auto_increment,
A_DATE date NOT NULL,
PRIMARY KEY (ID),
KEY SEARCH_00 (A_DATE, ID)
) ENGINE=MyISAM | InnoDB;
select SQL_NO_CACHE count(id) from t_test where a_date > ‘2007-8-1’ and a_date < ‘2007-10-15’;
— return 450,791 rows