0

问题:我正在尝试使用表格跟踪网站中图片的点击次数

`click_counts(image_id int(10) NOT NULL, 
 image_clicks int(10) NOT NULL DEFAULT 0, 
 PRIMARY KEY (image_id))Engine=InnoDB;

该表是使用查询更新的

INSERT INTO click_counts (image_id, image_clicks) 
VALUES ( ? , 1) 
ON DUPLICATE KEY UPDATE image_clicks = image_clicks + 1; 

当并发访问时,此实现会导致争用 - mysql 慢查询日志显示相同 image_id 的多个插入语句,这意味着由于行级锁定,插入语句(更新同一行)相互阻塞。对于这个问题,什么是可扩展且非阻塞的解决方案?我想这将是一个常见的用例,我是新手。

感谢任何建议。

4

0 回答 0