Mysql Oracle最佳做法

Mysql Oracle最佳做法,mysql,oracle,performance,plsql,Mysql,Oracle,Performance,Plsql,我必须提取一些增量数据,然后做一些小而复杂的计算。但几天过去了,数据变得越来越大,在第一个增量阶段之后,开始有更多的时间插入和更新大型记录。 所以,我所做的是: CREATE TABLE T1 AS(SELECT (some_conditions) FROM SOME_TABLE); CREATE TABLE T2 AS(SELECT (some_conditions) FROM T1); DROP TABLE T1 RENAME T2 TO T 在生产环境中,这是一种良好的做法吗。不过,它的

我必须提取一些增量数据,然后做一些小而复杂的计算。但几天过去了,数据变得越来越大,在第一个增量阶段之后,开始有更多的时间插入和更新大型记录。 所以,我所做的是:

CREATE TABLE T1 AS(SELECT (some_conditions) FROM SOME_TABLE);
CREATE TABLE T2 AS(SELECT (some_conditions) FROM T1);
DROP TABLE T1
RENAME T2 TO T

在生产环境中,这是一种良好的做法吗。不过,它的工作速度非常快。

通常,我同意DDL是一件非常不好的事情,但我们需要务实

我想如果汤姆·凯特(甲骨文大师)说没关系,那也没关系


如果代码正常工作,它可能更适合于。@Turing85这似乎是纯粹的示例代码,因此不是。您是否应该将最后一条语句写成
将T2重命名为某个表
?@APC?这是不必要的。OP需要确认这一点,但据我所知,他需要定期执行某种聚合到表
T
@SylvainLeroux中,在这种情况下,可能缺少
DROP表T
。我只浏览了参考文档,但我认为主要的瓶颈是因为表上有一些索引,所以大大减慢了更新过程。这里的情况未必如此。