日期:2014-05-18  浏览次数:20476 次

什么办法生成一张表的速度最快?
现在有一张数据表D,是由A,B,C,3张表生成的,
写了一个生成D的存储过程,
大致是:

TRUNCATE   TABLE   D
insert   into   D
SELECT   *   FROM   A   WHERE   ...(A表数据大于100万)

insert   into   D
SELECT   *   FROM   B   WHERE   ....(B表几十万)

insert   into   D
SELECT   *   FROM   C   WHERE   ........(C表几十万)

中间还用到其他的表做UPDATE操作
UPDATE   D   SET   .....(UPDATE语句有近20个)
以前速度还可以,现在完成这个过程要1到2个小时,
请问有没更好的处理办法?

------解决方案--------------------
Insert+Update,没甚么太好的办法了,先试试从select * from A这些入手,提高一下效率,看看结果如何