速读摘要文章源自JAVA秀-https://www.javaxiu.com/25428.html
结果两个表都是6785000条,MariaDB用时3.065秒,MySQL用时6.404秒。SELECT*FROM LOG WHERE LEVEL='info'MariaDB用时0.006秒,MySQL用时0.049秒。SELECT*FROM LOG WHERE MESSAGE='debug'MariaDB用时0.003秒,MySQL用时0.004秒。文章源自JAVA秀-https://www.javaxiu.com/25428.html
原文约 1859 字 | 图片 3 张 | 建议阅读 4 分钟 | 评价反馈文章源自JAVA秀-https://www.javaxiu.com/25428.html
MySQL!性能被 MariaDB 吊打 ! ! !
搜云库技术团队 文章源自JAVA秀-https://www.javaxiu.com/25428.html
大家好,我是磊哥。
MariaDB拥有比MySQL更纯正的MySQL血脉。最初的版本更新与MySQL同步,相对MySQL5以后的版本,MariaDB也有相应的5.1~5.5的版本。后来MariaDB终于摆脱了MySQL,它的版本号直接从10.0开始,以自己的步伐进行开发,当然,还是可以对MySQL完全兼容。现在,MariaDB的数据特性、性能等都超越了MySQL。文章源自JAVA秀-https://www.javaxiu.com/25428.html
测试环境文章源自JAVA秀-https://www.javaxiu.com/25428.html
本性能测试环境如下:文章源自JAVA秀-https://www.javaxiu.com/25428.html
CPU:I7文章源自JAVA秀-https://www.javaxiu.com/25428.html
内存:8G文章源自JAVA秀-https://www.javaxiu.com/25428.html
OS:Windows 10 64位文章源自JAVA秀-https://www.javaxiu.com/25428.html
硬盘类型:SSD文章源自JAVA秀-https://www.javaxiu.com/25428.html
MySQL:8.0.19文章源自JAVA秀-https://www.javaxiu.com/25428.html
MariaDB:10.4.12文章源自JAVA秀-https://www.javaxiu.com/25428.html
分别在MySQl和MariaDB中创建名为performance的数据库,并创建log表,都使用innodb作为数据库引擎:文章源自JAVA秀-https://www.javaxiu.com/25428.html
注 意文章源自JAVA秀-https://www.javaxiu.com/25428.html
文末放有:7701页最新面试题文章源自JAVA秀-https://www.javaxiu.com/25428.html
CREATE TABLE `performance`.`log`( `id` INT UNSIGNED NOT NULL AUTO_INCREMENT, `time` DATETIME NOT NULL, `level` ENUM('info','debug','error') NOT NULL, `message` TEXT NOT NULL, PRIMARY KEY (`id`)) ENGINE=INNODB CHARSET=utf8;
插入性能
单条插入
单条插入的测试结果如下表所示:文章源自JAVA秀-https://www.javaxiu.com/25428.html
文章源自JAVA秀-https://www.javaxiu.com/25428.html
MariaDB单条数据插入的性能比MySQL强1倍左右。文章源自JAVA秀-https://www.javaxiu.com/25428.html
批量插入
批量插入的测试结果如下表所示:文章源自JAVA秀-https://www.javaxiu.com/25428.html
文章源自JAVA秀-https://www.javaxiu.com/25428.html
上面的测试结果,MariaDB并没有绝对优势,甚至有时还比MySQL慢,但平均水平还是高于MySQL。文章源自JAVA秀-https://www.javaxiu.com/25428.html
查询性能
经过了多次插入测试,我两个数据库里插入了很多数据,此时用下面的sql查询表中的数据量:文章源自JAVA秀-https://www.javaxiu.com/25428.html
SELECT COUNT(0) FROM LOG
结果两个表都是6785000条,MariaDB用时3.065秒,MySQL用时6.404秒。此时我机器的内存用了6个G,MariaDB用了474284 K,MySQL只用了66848 K。看来MariaDB快是牺牲了空间换取的。文章源自JAVA秀-https://www.javaxiu.com/25428.html
无索引
先查询一下time字段的最大值和最小值:文章源自JAVA秀-https://www.javaxiu.com/25428.html
SELECT MAX(TIME), MIN(TIME) FROM LOG
MariaDB用时6.333秒,MySQL用时8.159秒。接下来测试过滤time字段在0点到1点之间的数据,并对time字段排序:文章源自JAVA秀-https://www.javaxiu.com/25428.html
SELECT * FROM LOG WHERE TIME > '2020-02-04 00:00:00' AND TIME < '2020-02-04 01:00:00' ORDER BY TIME
MariaDB用时6.996秒,MySQL用时10.193秒。然后测试查询level字符是info的数据:文章源自JAVA秀-https://www.javaxiu.com/25428.html
SELECT * FROM LOG WHERE LEVEL = 'info'
MariaDB用时0.006秒,MySQL用时0.049秒。最后测试查询message字段值为debug的数据:文章源自JAVA秀-https://www.javaxiu.com/25428.html
SELECT * FROM LOG WHERE MESSAGE = 'debug'
MariaDB用时0.003秒,MySQL用时0.004秒。文章源自JAVA秀-https://www.javaxiu.com/25428.html
有索引
分别对两个数据库的字段创建索引:文章源自JAVA秀-https://www.javaxiu.com/25428.html
ALTER TABLE `performance`.`log` ADD INDEX `time` (`time`), ADD INDEX `level` (`level`), ADD FULLTEXT INDEX `message` (`message`);
MariaDB用时2分47秒,MySQL用时3分48秒。再用上面的测试项目进行测试,结果如下表所示:文章源自JAVA秀-https://www.javaxiu.com/25428.html
文章源自JAVA秀-https://www.javaxiu.com/25428.html
有些结果添加了索引后还不如不加索引时理想,说明实际使用时并不是每个字段都需要添加索引的。文章源自JAVA秀-https://www.javaxiu.com/25428.html
总结
在上面的测试中MariaDB的性能的确优于MySQL,看来各大厂商放弃MySQL拥抱MariaDB还是非常有道理的。文章源自JAVA秀-https://www.javaxiu.com/25428.html
作者:swanmy 链接:blog.csdn.net/zhmh326/article/details/104168710 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。文章源自JAVA秀-https://www.javaxiu.com/25428.html
近期技术热文文章源自JAVA秀-https://www.javaxiu.com/25428.html
1、面试难题,不用ThreadLocal 程序会崩吗?2、用了这么久 IDEA,你竟然不知道有个功能..!3、这4种,统计代码执行耗时,才足够优雅!4、除了负载均衡,Nginx还可以做很多文章源自JAVA秀-https://www.javaxiu.com/25428.html
第3版:互联网大厂面试题文章源自JAVA秀-https://www.javaxiu.com/25428.html
包括 Java 集合、JVM、多线程、并发编程、设计模式、算法调优、Spring全家桶、Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、MongoDB、Redis、MySQL、RabbitMQ、Kafka、Linux、Netty、Tomcat、Python、HTML、CSS、Vue、React、JavaScript、Android 大数据、阿里巴巴等大厂面试题等、等技术栈!文章源自JAVA秀-https://www.javaxiu.com/25428.html
阅读原文: 高清 7701页大厂面试题 PDF文章源自JAVA秀-https://www.javaxiu.com/25428.html
阅读原文文章源自JAVA秀-https://www.javaxiu.com/25428.html

评论