一条语句,就是插入时的验证条件INSERT INTO vote_log(p_id, openid, status) select 216, '12313', 1 where (select count(*) from vote_log) <=3
在并发下,依然插入N条数据。
mysql 自身无法达到你的需求
这条 sql 如果是做业务限制的话,改为前面加个缓存来处理这个逻辑.
如果这个 sql 不做业务限制,只是限制日志写入的话,加个队列,异步顺序处理也可以了.
1.4m articles
1.4m replys
5 comments
56.6k users