注意慎用replace into,两个的主要区别如下
replace into | INSERT INTO ON DUPLICATE KEY UPDATE |
---|---|
遇到更新时是先删掉原来的在插入新的 | 遇到更新时直接update |
由于先删除旧的,如果原来有些列有旧数据或者没有提供更新的列,会丢数据 | 典型的update数据,只影响update的列,别的没有影响 |
由于先删旧的性能慢 | 性能快 |
参考:
MySQL "replace into" 的坑
Mysql replace 与 insert on duplicate效率分析
INSERT INTO .. ON DUPLICATE KEY更新多行记录
© 2017, 新之助meow. 原创文章转载请注明: 转载自http://www.xinmeow.com