innodb_flush_log_at_trx_commit参数性能测试是怎样的


innodb_flush_log_at_trx_commit参数性能测试是怎样的,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
mysql> create table test_load(a int,b char(80)) engine=innodb;
Query OK, 0 rows affected (0.19 sec)

mysql> delimiter //
mysql> create procedure p_load(count int unsigned)
-> begin
-> declare s int unsigned default 1;
-> declare c char(80) default repeat(‘a’,80);
-> while s -> insert into test_load select null,c;
-> commit;
-> set s = s + 1;
-> end while;
-> end;
-> //
mysql> delimiter ;
mysql> call p_load(50000);
Query OK, 0 rows affected (3.02 sec)

mysql> show variables like ‘%flush_log%’;
+——————————–+——-+
| Variable_name | Value |
+——————————–+——-+
| innodb_flush_log_at_timeout | 1 |
| innodb_flush_log_at_trx_commit | 0 |
+—————————开发云主机域名—–+——-+
mysql> call p_load(500000);
Query OK, 0 rows affected, 3 warnings (28.43 sec)

mysql> select * from test_load limit 5;
+——+———————————————————————————-+
| a | b |
+——+———————————————————————————-+
| NULL | aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa |
| NULL | aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa |
| NULL | aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa |
| NULL | aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa |
| NULL | aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa |
+——+———————————————————————————-+
5 rows in set (0.12 sec)

mysql> set global innodb_flush_log_at_trx_commit=1;
Query OK, 0 rows affected (0.00 sec)

mysql> call p_load(500000);
Query OK, 0 rows affected (27.54 sec)

mysql> show variables like ‘%flush_log%’;
+——————————–+——-+
| Variable_name | Value |
+——————————–+——-+
| innodb_flush_log_at_timeout | 1 |
| innodb_flush_log_at_trx_commit | 1 |
+——————————–+——-+
2 rows in set (0.09 sec)
mysql> truncate table test_load;
Query OK, 0 rows affected (0.23 sec)

mysql> call p_load(500000);
Query OK, 0 rows affected (24.63 sec)

mysql> set global innodb_flush_log_at_trx_commit=2;
Query OK, 0 rows affected (0.30 sec)

mysql> truncate table test_load;
Query OK, 0 rows affected (1.06 sec)

mysql> call p_load(500000);
Query OK, 0 rows affected (27.69 sec)
看完上述内容,你们掌握innodb_flush_log_at_trx_commit参数性能测试是怎样的的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注开发云行业资讯频道,感谢各位的阅读!

相关推荐: mysq如何通过命令将sql查询的结果导出到具体文件

这篇文章给大家分享的是有关mysq如何通过命令将sql查询的结果导出到具体文件的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。引言最近在修改线上数据的时候,需要现将修改的数据继续备份,但是线上客户的服务器是不能直接连接,而是通过了一台…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 06/27 10:42
下一篇 06/27 10:42

相关推荐