测试环境如下
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 都干啥了
sql 代码
- 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