UPDATE kt_accbalance SET accbalance_ep = CASE user_id WHEN 10001 THENaccbalance_ep + 8 WHEN 10002 THENaccbalance_ep + 5 WHEN 10004 THENaccbalance_ep + 3 WHEN 10006 THENaccbalance_ep + 10 WHEN 10039 THENaccbalance_ep + 100 END WHEREuser_id IN ( 10001, 10002, 10004, 10006, 10039 )
这是批量更新5条。如果批量更新2000条,意思就是有2000个user_id要更新。2000个这种长度恐怖啊。mysql能处理这么长的吗?2000条,sql语句是现在长度的400倍。mysql行吗,允许sql能整这么长吗?如果不可以,有没有其他替代的高性能方案呢。
参考了这个文章:参考
相关分类