Maison > base de données > tutoriel mysql > le corps du texte

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

WBOY
Libérer: 2016-06-07 16:06:56
original
1193 Les gens l'ont consulté

【引自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
Copier après la connexion

建表

<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>
Copier après la connexion

插入数据

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

插入10000 Record

Heap engine insert 10000 record used time: 3.5008587837219<br>MyISAM engine insert 10000 record used time: 4.5881390571594
Copier après la connexion

50000 Record

Heap engine insert 50000 record used time: 19.895354986191<br>MyISAM engine insert 50000 record used time: 33.866044998169
Copier après la connexion

100000 Record

Heap engine insert 100000 record used time: 36.200875997543<br>MyISAM engine insert 100000 record used time: 68.34194111824
Copier après la connexion

200000 Record

Heap engine insert 200000 record used time: 68.00207901001<br>MyISAM engine insert 200000 record used time: 125.26263713837
Copier après la connexion

查询数据

表里分表有: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
Copier après la connexion

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

Heap engine select 1000 times, 10000 record used time: 111.54126811028<br>MyISAM engine select 1000 record used time: 116.79438710213
Copier après la connexion

增加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
Copier après la connexion

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
Copier après la connexion

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
Copier après la connexion

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>
Copier après la connexion

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

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!