共計 2431 個字符,預計需要花費 7 分鐘才能閱讀完成。
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 = count do
– 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 參數性能測試是怎樣的的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注丸趣 TV 行業資訊頻道,感謝各位的閱讀!