INSERT ... ON DUPLICATE KEY UPDATE这种方式性能如何?

主要还是得看你的场景,比如处理数据量大不大,并发高不高,如果是处理数据量很少,并发很小,还是可以的;但是这种数据量一大或者并发一高,冲突几率可能会比较大,处理效率也一般;我们采用的都是先查询再流式并发写入,这种效率还不错,特别是对大数据加工的时候,采用TiFlash查询+流式并发写入,相比INSERT … ON DUPLICATE KEY UPDATE,效果会明显更佳;目前官方推荐的也是先查询再流式并发写入。
可以看下官方的批处理一些测评: