奇怪的结果,测试MyIsam和InnoDB的查询速度,MyIsam<InnoDB

luluback 发布于 2012/03/15 18:21
阅读 2K+
收藏 1

13000条数据

查询语句:“select * from user where id>0 limit 60*20, 20"

MyISAM时间:2422ms

InnoDB时间:678ms

+----------+-------------+------+-----+---------+----------------+
| Field    | Type        | Null | Key | Default | Extra          |
+----------+-------------+------+-----+---------+----------------+
| id       | int(11)     | NO   | PRI | NULL    | auto_increment |
| username | varchar(50) | NO   |     | NULL    |                |
| password | varchar(50) | NO   |     | NULL    |                |
+----------+-------------+------+-----+---------+----------------+

以下是问题补充:

@luluback:网上都说MyIsam查询速度比InnoDB快,我测试一下怎么会出现这种结果。 (2012/03/15 18:22)
@luluback:当我把where id>0 去掉后, 他们的速度差不多都是500多ms, 当我加上where id>0 ,并且给id建索引后,还是MyIsam引擎下慢 (2012/03/16 09:55)
@luluback:当我把sql改成“select id from 。。。。”后,他们执行时间也差不多。很奇怪,MyIsam什么情况下会比InnoDB查询速度快呢? (2012/03/16 10:00)
@luluback:但我条件改成id=12000时候,他们的速度比较还是差不多。Mysql5 (2012/03/16 10:03)
加载中
0
大东哥
大东哥
MyIsam比InnoDB快那是N年前的事了。
luluback
luluback
在MySQL 5.0里面,MyISAM和InnoDB存储引擎性能差别并不是很大
luluback
luluback
经过测试,我也没发现什么情况下MyIsam比InnoDB查询快,求指点。
0
deleted
deleted

innodb buffer pool够大, innodb的数据会全缓存进内存;而myisam只有索引在内存里, 其他字段的缓存还得依赖OS本身的cache

高榕
高榕
那确实。
luluback
luluback
我试下其他字段
0
疯狂的艺术家
疯狂的艺术家
今天我也在纠结这个问题
0
喂码呢
喂码呢
不觉得奇怪
返回顶部
顶部