[英]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.