替换还是修改?
A B表中含有有相同字段的N条数据
A表为标准,B表要参考A表做数据更新.
是比较A表和B表,发现不同的数据就更新这条数据快(这样写入数据的次数好像少一点,但是多了比较)
还是直接用A表数据替换B表相关数据快(这样写入数据的次数好像多,但是没有比较)
------解决方案--------------------如果数据不多的话,使用一个嵌套查询一次可以查出只在A表中存在而B表中不存在的所有记录,比较的次数也不多
------解决方案--------------------觉得直接替换的好...
还可以省略掉查询...
如果要比较你就要用到2N次查询.或许插入
相比直接N次插入好点吧
------解决方案--------------------可以做成view吗?让他自己更新。DB不熟,帮顶。既然B要和A一致,还管他什么地方不同,直接就盖了。
------解决方案--------------------我认为先比较在替换可能会好点
------解决方案--------------------应该是替换快,对表join是很费性能的。对单表操作将会快很多
------解决方案--------------------还有中思路。可能实现效率上更快。
1.先drop 掉 A表。
2.select * into B from A //(select into from)要求目标表(B)不存在,因为在插入时会自动创建。
或者
1.delete * from A .//把A表的记录全删除
2.insert into B select * from A . //(insert into select from)要求目标表(B)存在
------解决方案--------------------满有意思的,应该是替换快把
------解决方案--------------------1 如果B表在使用中,则删除是不行的,否则删除,然后重新插入所有数据速度最快。 因为 insert 速度比update要快,特别是大数据量。
2 建议给数据增加一个最后更新日期,这样你比较时可以加快速度
3 select 速度比update速度快,不过得看每次更新的数据比例了。如果每次超过一定比例的数据会被更新,比如80%,我看直接update好了