Database 更新数据库表ltrim rtrim太慢

Database 更新数据库表ltrim rtrim太慢,database,sybase,Database,Sybase,我有一张桌子,大约有500000张唱片。我需要更新字段的名称,并使用以下说明: update myTable set myField = ltrim(rtrim(myField)) 但是这个指令需要一个小时。我尝试使用where子句ex: update myTable set myField = ltrim(rtrim(myField)) where myPrimaryKey >= 0 and myPrimaryKey <= 50000 但是执行时间也很慢 有什么想法吗?如何提高

我有一张桌子,大约有500000张唱片。我需要更新字段的名称,并使用以下说明:

update myTable set myField = ltrim(rtrim(myField))
但是这个指令需要一个小时。我尝试使用where子句ex:

update myTable set myField = ltrim(rtrim(myField)) where myPrimaryKey >= 0 and myPrimaryKey <= 50000
但是执行时间也很慢

有什么想法吗?如何提高更新的性能?
注意。

尝试仅为此更新在myField上临时创建一个非聚集索引,然后尝试此更新脚本

好的。我使用光标来减少时间

DECLARE cursor_prueba CURSOR FOR
select A, B, C from MyTable order by A
' A is PrimaryKey

OPEN cursor_prueba
FETCH cursor_prueba INTO @varA, @varB, @varC

WHILE @@FETCH_STATUS = 0
BEGIN
    update MyTable set B = ltrim(rtrim(B)), C = ltrim(rtrim(C)) where A = @varA

    FETCH cursor_prueba INTO @varA, @varB, @varC
END

CLOSE cursor_prueba
DEALLOCATE cursor_prueba
我希望这有帮助。
向大家致意。

我已经在myField上建立了一个非聚集索引,我也更新了统计数据。还有其他建议吗?