日期:2014-05-17  浏览次数:20881 次

求一个全表更新数据的最优方案
我有一张比较大的表,有五百多万行的数据,并做得有索引。这张表平时的操作就是select,不做任何insert、update等修改操作。但表内的全部数据每天凌晨都需要全部更新一次,数据源是从另外一个数据库中提取。我的问题就是,这样每天的全表更新,采用什么方式最快最优,而不影响性能?
1、Truncate table,然后Insert into
2、Drop table,然后Create table as select ...,最后重新创建索引

这两种方法哪种好?

------解决方案--------------------
快,当然性能就好咯。删除之前备份好,就这么一点。
------解决方案--------------------
你都凌晨了还担心什么性能?如果正在这张表上操作你也不可能drop掉。

还是你担心一天一Truncate table累积起来会有性能影响?

要是担心后者,给它单独建立一个表空间,定期清空碎片,这样不会影响其它表。