mysql MyISAM引擎的数据读写单位是什么

三、100 万数据性能测试

四、200 万数据性能测试

五、500 万数据性能测试

六、1000 万数据性能测试

#增加下面几行配置文件

14.输出mysql的库文件给系统库查找路径

15.修改PATH环境变量让系统可以直接使用mysql的相关命令

好了,到这里我们的mysql就全部安装完成了下面我们来准备一下测试环境。

三、100 万数据性能测试

1.t1表插入并查询数据(MyISAM引擎)

2.t2表插入并查询数据(InnoDB引擎)

  • 插入100多万行数据花费的时间为 0.68 秒

  • 插入100多万行数据花费的时间为 12.26 秒。

四、200 万数据性能测试

1.t1表插入并查询数据(MyISAM引擎)

2.t2表插入并查询数据(InnoDB引擎)

  • 插入200多万行数据花费的时间为 1.18 秒

  • 插入200多万行数据花费的时间为 26.13 秒。

五、500 万数据性能测试

1.t1表插入并查询數据(MyISAM引擎)

2.t2表插入并查询数据(InnoDB引擎)

  • 插入500多万行数据花费的时间为 2.27 秒

  • 插入500多万行数据花费的时间为 55.33 秒。

六、1000 万数据性能测试

1.t1表插入並查询数据(MyISAM引擎)

2.t2表插入并查询数据(InnoDB引擎)

  • 插入1000多万行数据花费的时间为 6.57 秒

插入数据时间(单位/秒)

查询数据时间(单位/秒)

插入數据时间(单位/秒)

查询数据时间(单位/秒)

插入数据时间(单位/秒) 查看数据时间(单位/秒)
插入数据时间(单位/秒) 查看数据时间(單位/秒)

5.5的性能都有很大的提升,还是那句话找个稳定的5.5版本升了吧最后,希望大家有所收获吧^_^……

三、100 万数据性能测试

四、200 万数据性能测试

五、500 万数据性能测试

六、1000 万数据性能测试

好了问题解决下面我们继续测试。

  • 插入500多万行数据花费的时间为2.35秒

  • 插入500多万行数据婲费的时间为 52.81 秒。

六、 1000 万数据性能测试

1.t1表插入并查询数据

2.t2表插入并查询数据

  • 插入1000多万行数据花费的时间为 8.47 秒

  • 插入1000多万行数据花费的时间為 53.02 秒。

插入数据时间(单位/秒) 查看数据时间(单位/秒)
插入数据时间(单位/秒) 查看数据时间(单位/秒)

注从插入数据时间和查看数據时间这两个数据来看,可以说MyISAM引擎是完胜InnoDB引擎好了,这次的博客就到这里了最后,希望大家有所收获^_^……

两种存储引擎的索引结构都是B+树B+树的详细介绍可参考

1. InnoDB支持事务,MyISAM不支持对于InnoDB每一条SQL语言都默认封装成事务,自动提交这样会影响速度,所以最好把多条SQL语言放在begin transaction和commitの间组成一个事务;  

3. InnoDB是聚集索引,数据文件是和索引绑在一起的必须要有主键,通过主键索引效率很高但是辅助索引需要两次查询,先查询到主键然后再通过主键查询到数据。因此主键不应该过大,因为主键太大其他索引也都会很大。而MyISAM是非聚集索引数据文件是分离的,索引保存的是数据文件的指针主键索引和辅助索引是独立的。

4. InnoDB不保存表的具体行数执行select count(*) from table时需要全表扫描。而MyISAM用一个变量保存了整个表的行数执行上述语句时只需要读出该变量即可,速度很快;  

5. Innodb不支持全文索引而MyISAM支持全文索引,查询效率上MyISAM要高;

1. 是否要支持事务如果要请选择innodb,如果不需要可以考虑MyISAM

2. 如果表中绝大多数都只是读查询可以考虑MyISAM,如果既有读写频繁建议使用InnoDB。

我要回帖

 

随机推荐