高分求助!将一个sql文优化(现在的执行效率太低了),谢谢。
Iris 2005-11-09 12:02:30 SQL文如下:
UPDATE tableA
SET FLAG = 1
WHERE FLAG <> 1
AND fieldA NOT IN
(SELECT substr(fieldA,1,8)||max(substr(fieldA,9,2))
FROM tableA
GROUP BY substr(fieldA,1,8))
他的功能是,将表A中的若干条记录的flag设置成1,条件是:
如果该表中fieldA列的值的前8位相同,那么将后两位中不是最大的纪录进行设置,
举个例子:
如果fieldA的值有AAAAAAAA01,AAAAAAAA02,AAAAAAAA03,
那么将AAAAAAAA01,AAAAAAAA02对应的纪录的flag进行设置。
现在表A中有两万条数据,上述sql文执行需要6分钟,怎么才能提高效率呢。谢谢!