Home >Database >Mysql Tutorial >MySQL中MyISAM引擎和Heap引擎执行速度性能测试(1)

MySQL中MyISAM引擎和Heap引擎执行速度性能测试(1)

WBOY
WBOYOriginal
2016-06-07 16:06:561233browse

【引自heiyeluren的博客】测试环境 CPU:Intel Pentium4 2.66GHz Memory:1GB Disk:73GB/SCSI OS:FreeBSD 4.11 PHP:PHP 5.2.1 MySQL:MySQL 4.1.23b 前期工作 my.cnf max_heap_table_size = 128M 建表 use test; -- -- Store engine heap -- CREATE TABLE

【引自heiyeluren的博客】测试环境

CPU:Intel Pentium4 2.66GHz
Memory:1GB
Disk:73GB/SCSI

OS:FreeBSD 4.11
PHP:PHP 5.2.1
MySQL:MySQL 4.1.23b

前期工作

my.cnf

max_heap_table_size = 128M

建表

<p>use test;</p><p>--<br>-- Store engine heap<br>--<br>CREATE TABLE `tbl_heap` (    <br>`id` int(11) NOT NULL auto_increment,   <br>`name` varchar(32) NOT NULL default '', <br>`email` varchar(32) NOT NULL default '',  <br>`summary` varchar(255) default '', <br>KEY `id` (`id`)    <br>) ENGINE=HEAP DEFAULT CHARSET=gbk; </p><p>--<br>-- Store engine myisam<br>--<br>CREATE TABLE `tbl_isam` (    <br>`id` int(11) NOT NULL auto_increment,   <br>`name` varchar(32) NOT NULL default '', <br>`email` varchar(32) NOT NULL default '',  <br>`summary` varchar(255) default '', <br>KEY `id` (`id`)    <br>) ENGINE=InnoDB DEFAULT CHARSET=gbk;</p>

插入数据

说明:每次都是空表插入数据

插入10000 Record

Heap engine insert 10000 record used time: 3.5008587837219<br>MyISAM engine insert 10000 record used time: 4.5881390571594

50000 Record

Heap engine insert 50000 record used time: 19.895354986191<br>MyISAM engine insert 50000 record used time: 33.866044998169

100000 Record

Heap engine insert 100000 record used time: 36.200875997543<br>MyISAM engine insert 100000 record used time: 68.34194111824

200000 Record

Heap engine insert 200000 record used time: 68.00207901001<br>MyISAM engine insert 200000 record used time: 125.26263713837

查询数据

表里分表有:200000条记录,两个表数据一致

直接select,10000次,每次取100条记录

Heap engine select 10000 times, 100 record used time: 12.122506141663<br>MyISAM engine select 10000 times, 100 record used time: 19.512896060944

直接select,1000次,每次取10000条记录

Heap engine select 1000 times, 10000 record used time: 111.54126811028<br>MyISAM engine select 1000 record used time: 116.79438710213

增加where条件,1000次,每次取10000条记录

Heap engine select 1000 times, 10000 record used time: 111.52102303505<br>MyISAM engine select 1000 times, 10000 record used time: 117.68481087685

where条件,10000次,每次从1000条起,取1000条记录

Heap engine select 10000 times, 1000 record used time: 124.28988695145<br>MyISAM engine select 10000 times, 1000 record used time: 139.82107305527

where条件增加like,10000次,每次从1000条起,取1000条记录

Heap engine select 10000 times, 1000 record used time: 145.43780493736<br>MyISAM engine select 10000 times, 1000 record used time: 163.56296992302

where条件增加索引,10000次,每次从1000条起,取1000条记录

<p>-- 建立索引 (在SQLyob下执行)<br>ALTER TABLE tbl_heap ADD INDEX idx_name (name);<br>ALTER TABLE tbl_isam ADD INDEX idx_name (name);</p><p>Heap engine alter table add index used time: 2.078<br>MyISAM engine alter table add index used time: 13.516</p><p>Heap engine select 10000 times, 1000 record used time: 153.48922395706<br>MyISAM engine select 10000 times, 1000 record used time: 239.86818814278</p>

PS:不合适的索引还不如不要。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn