[英]mysql 5.6.21 update statement is very slow when log_bin is on
我的更新声明是
update ptest set amount = amount - 2000 where id = 2
表ptest是
CREATE TABLE `ptest` (
`id` bigint(19) NOT NULL AUTO_INCREMENT,
`developerId` bigint(19) DEFAULT NULL,
`appId` bigint(19) DEFAULT NULL,
`caller` varchar(20) DEFAULT NULL,
`callerDisplay` varchar(20) DEFAULT NULL,
`called` varchar(20) DEFAULT NULL,
`calledDisplay` varchar(20) DEFAULT NULL,
`startTime` datetime DEFAULT NULL,
`endTime` datetime DEFAULT NULL,
`callTime` int(11) DEFAULT NULL,
`callId` varchar(32) NOT NULL ,
`billingTime` int(11) DEFAULT NULL,
`callResult` varchar(10) DEFAULT NULL,
`amount` bigint(20) DEFAULT NULL ,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=200001 DEFAULT CHARSET=utf8;
当系统变量log_bin设置为:log_bin = mysql_bin时,jmeter测试结果为237.4 transaction / second。 当log_bin被注释掉#log_bin = mysql_bin时,jmeter测试结果为3500.2 transaction / second。
在两个设置上的插入率都差不多,大约为8000个事务/秒。
为什么log_bin对mysql有可怕的性能影响? 打开log_bin时如何提高更新性能?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.