MySQL|MySQL 数据库性能小测
myISAM:不支持数据库事务,但是性能比innoDB强很多,如果你的数据库多表操作比较多,为了确保数据一致性,不建议使用myISAM引擎
innoDB:支持数据库事务,多表操作的数据一致性有保证,但是在性能方面和myISAM引擎比就差太多了
数据插入方面:
文章图片
110多秒插入600w数据,myISAM引擎 关于二者性能差距,在数据插入方面就体现的淋漓尽致,同样结构的表,使用存储过程的循环操作插入同样规则的数据,innoDB花了600秒+才插入不到8000条数据,被我手动结束了插入;
而在myISAM表里面,只花了110多秒钟就插入了超过600w条数据,这个性能差距真是......额=_=,叼。
【MySQL|MySQL 数据库性能小测】
数据查询方面:
这里我使用的是myISAM引擎表来查询,在没有建立索引的情况下,从600w行查询一个指定的phone(有重复),结果如下:
文章图片
耗时:1.026s 在建立了phone字段的索引之后,再次使用该语句查表,结果如下:
文章图片
耗时:0.001s 暂时就酱,接着研究......
补充点,myISAM转innoDB之后的测试:
未索引的phone字段查询耗时:
文章图片
耗时:3.060s,约myISAM引擎下的3倍 索引后phone字段查询耗时:
文章图片
耗时:0.001s,和myISAM引擎下表现一致 补充测试,在myISAM引擎下,对于单个重复数据很多字段建立索引,查询性能并没有提升,反而下降;对id建立索引,然后在600w数据里limit100w条数据,性能不升反降。
推荐阅读
- Docker应用:容器间通信与Mariadb数据库主从复制
- 数据库设计与优化
- 数据库总结语句
- py连接mysql
- 2019-01-18Mysql中主机名的问题
- MySql数据库备份与恢复
- mysql|InnoDB数据页结构
- 数据库|SQL行转列方式优化查询性能实践
- mysql中视图事务索引与权限管理
- 性能测试中QPS和TPS的区别